明確な違いは「格納するモノ」だと思います。
「メッセージ」とは「起こったことをプロセスに知らせるもの」で
「ジョブ」とは「実行すべき処理内容」です。
メッセージは単なる数値や文字列でも構いません。
「どのようなことが」「どのような状況で」起こったかを
プロセスが知ることができれば良いのです。
対してジョブは、それ自身が何をすべきか知っている必要があります。
つまり、何らかのオブジェクト(又はコードリファレンス等)であるべきです。
結局のところキューはFIFOに分類される「データの扱い型」に過ぎないですし、
メッセージキューとジョブキューの何が違うかということであれば
「用途」
に尽きると思います。
とてもわかりやすい回答ありがとうございます!
違いがはっきりしてもやもやしてのがとれました。
それぞれのライブラリを使うときは「格納するもの」を意識して使いたいと思います。