クラスや構造体を生成できます。以外の言語にもおいても同様の機能は提供されます。スキーマは可読性が高く、言語のデータ型から独立して型を定義できるところがいいと思います。シリアライズ・デシリアライズが高速でメモリの使用を抑えることができ、データ量も少なくなるので通信にも向いていると言われています。役に立つ機会も多いのではないでしょうか。コマンドを都度実行するのは実際の開発においてはやや手間がかかり、めんどうです。ようなツールを使いビルドを自動化していると思います。コンパイル作業を組み込むことができます。ソースコードをコンパイルする流れに組み込むことで扱いやすいツールになると思います。ビルドスクリプトを記述します。