両方とも同様に使えます。でも、昔は違いました。
OS/2 の頃は、32bit環境でありながら、DOSのエミュレーション環境もあったため、COMMAND .COM と CMD.EXE が両方とも動く環境にありました。そのため、バッチファイルは拡張子で区別して
- 拡張子 .CMD → CMD.EXE 用のバッチ
- 拡張子 .BAT → COMMAND .COM 用のバッチ
となっていたのです。でも、Windows においては CMD.EXE と COMMAND .COM 双方があるという状況は今日ありません。そのため、どちらを使っても CMD.EXE が呼び出されます。
(でも、個人的には .CMD を使いたいですね)