まず、「デーモン化」は意味が違います。
現在では、systemd がサービスを管理していて、systemctl コマンドは、その systemd への指令を出すだけで、自分自身がサービスをどうこうするわけではないですが、systemd 以前では「自分でも」サービスプログラムを起動することがありました。
その時のお作法のようなものを「デーモン化」と呼んでいます。おそらく、この質問の本題ではないと思いますので割愛します。( systemd使うなら敢えて気にしなくて良いところです )
A. sudo systemctl daemon-reload && sudo systemctl enable app.service
B. sudo systemctl enable app.service
さて、この2つの違いは daemon-reload サブコマンドの有無ですが、これはサービス設定を編集した場合に再読み込みするような時に使うコマンドです。( 例えば自分でサービスユニットファイルを /etc/systemd/system/XX.service に作った時とか )
逆に言えば、設定を編集してなければ不要です。
そして、両者に共通の enable サブコマンドは、自動起動を有効化にするコマンドです。次回OS起動時にサービスが自動起動します。
※オプション --now をつければ、自動起動を有効化すると同時に、サービスも起動してくれます。
※逆に、自動起動の設定とは別に、単にサービス起動するだけなら start サブコマンドを使います。
なお、「エラーでこけてしまった場合に、再度立ち上がる」という話が出ていますが、それはサービスの設定であり、systemctl の操作とはまた別です。
systemd.service の manページで、 Restart や RestartSec という設定項目が関係しますので、そのあたりの情報をご覧ください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。