user3932: I am reading the different options for a cardano wallet: https://developers.cardano.org/docs/integrate-cardano/creating-wallet-faucet
Why should I use the cardano-wallet cli or api if all the tutorials like minting an NFT are using the cardano-cli?
Are there functionalities that only cardano-wallet can offer? If so which ones.

user1764: On the one hand, the cardano-wallet provides high level commands and automations, you can choose a  token to send ore choose a specific addresses to use... On the other hand, the cardano-cli provides low level commands, meaning that you have to do everything manually, but at least you know exactly the commands you are performing.
There is nothing you cannot do with cardano-cli that you can do with cardano-wallet.
To start, I recommand you to explore all the commands of cardano-cli to dive a little more into the cardano environment and then go back up to cardano-wallet, once you know the different steps and corresponding commands (for example for your NFT minting).

user4023: cardano-cli utility
cardano-cli v1.30.1 commands are rather era-based commands. As we all know the Shelley era brought staking for ADA holders. cardano-cli provides a "lower"-level information than "higher"-level cardano-wallet.
If you need a hint on any command or sub-command, feel free to use the help in any situation. For example to find out how to undelegate from staking pool, type:
cardano-cli stake-address deregistration-certificate --help

You'll see four available flags with a strong type of each property:
--stake-verification-key STRING
--stake-verification-key-file FILE
--stake-script-file FILE
--out-file FILE

Here are the list of available commands (that have corresponding sub-commands and flags):

address
stake-address
key
transaction
node
stake-pool
query
genesis
governance
text-view
byron (Byron era specific commands)
help
version

Among other things, there's a cardano-node run command for running a node. To run a node, use the following code:
cardano-node run \                    
    --topology ~/cardano/config/mainnet-topology.json \
    --database-path ~/cardano/db/ \
    --socket-path ~/cardano/db/node.socket \
    --host-addr 127.0.0.1 \
    --port 1495 \
    --config ~/cardano/config/mainnet-config.json

cardano-wallet utility
cardano-wallet v2021-09-29 commands are definitely wallet-based commands. To use transaction commands you need both a node and a server running. To generate a private key you need neither running node nor running server (i.e offline and not-synced).
Command Line info says:

The CLI is a proxy to the wallet server, which is required for most commands. Commands are turned into corresponding API calls, and submitted to an up-and-running server. Some commands do not require an active server and can be run offline (e.g. 'recovery-phrase generate').

Here are the list of available commands (that have corresponding sub-commands and flags):

serve
recovery-phrase
key
wallet
address
transaction
network
stake-pool
help
version

To run a server, use the following code:
cardano-wallet serve \                        
    --port 8090 \
    --mainnet \
    --database ~/cardano/wallets/db \
    --node-socket $CARDANO_NODE_SOCKET_PATH


3932: <p>I am reading the different options for a cardano wallet: <a href="https://developers.cardano.org/docs/integrate-cardano/creating-wallet-faucet" rel="nofollow noreferrer">https://developers.cardano.org/docs/integrate-cardano/creating-wallet-faucet</a></p>
<p>Why should I use the <code>cardano-wallet</code> cli or api if all the tutorials like minting an NFT are using the <code>cardano-cli</code>?
Are there functionalities that only <code>cardano-wallet</code> can offer? If so which ones.</p>
 1764: <p>On the one hand, the cardano-wallet provides high level commands and automations, you can choose a  token to send ore choose a specific addresses to use... On the other hand, the cardano-cli provides low level commands, meaning that you have to do everything manually, but at least you know exactly the commands you are performing.</p>
<p>There is nothing you cannot do with cardano-cli that you can do with cardano-wallet.</p>
<p>To start, I recommand you to explore all the commands of cardano-cli to dive a little more into the cardano environment and then go back up to cardano-wallet, once you know the different steps and corresponding commands (for example for your NFT minting).</p>
 4023: <h2>cardano-cli utility</h2>
<p><code>cardano-cli v1.30.1</code> commands are rather era-based commands. As we all know the Shelley era brought staking for ADA holders. <code>cardano-cli</code> provides a &quot;lower&quot;-level information than &quot;higher&quot;-level <code>cardano-wallet</code>.</p>
<p>If you need a hint on any command or sub-command, feel free to use the <code>help</code> in any situation. For example to find out how to <em><a href="https://cardano.stackexchange.com/questions/547/undelegate-stake-with-daedalus-wallet/4200#4200">undelegate</a></em> from staking pool, type:</p>
<pre><code>cardano-cli stake-address deregistration-certificate --help
</code></pre>
<p>You'll see four available flags with a strong type of each property:</p>
<pre><code>--stake-verification-key STRING
--stake-verification-key-file FILE
--stake-script-file FILE
--out-file FILE
</code></pre>
<p>Here are the list of available commands (that have corresponding sub-commands and flags):</p>
<ul>
<li>address</li>
<li>stake-address</li>
<li>key</li>
<li>transaction</li>
<li>node</li>
<li>stake-pool</li>
<li>query</li>
<li>genesis</li>
<li>governance</li>
<li>text-view</li>
<li>byron (Byron era specific commands)</li>
<li>help</li>
<li>version</li>
</ul>
<p>Among other things, there's a <code>cardano-node run</code> command for running a node. To run a node, use the following code:</p>
<pre><code>cardano-node run \                    
    --topology ~/cardano/config/mainnet-topology.json \
    --database-path ~/cardano/db/ \
    --socket-path ~/cardano/db/node.socket \
    --host-addr 127.0.0.1 \
    --port 1495 \
    --config ~/cardano/config/mainnet-config.json
</code></pre>
<h2>cardano-wallet utility</h2>
<p><code>cardano-wallet v2021-09-29</code> commands are definitely wallet-based commands. To use <code>transaction</code> commands you need both a node and a server running. To generate a private key you need neither running node nor running server (i.e offline and not-synced).</p>
<p>Command Line info says:</p>
<blockquote>
<p>The CLI is a proxy to the wallet server, which is required for most commands. Commands are turned into corresponding API calls, and submitted to an up-and-running server. Some commands do not require an active server and can be run offline (e.g. 'recovery-phrase generate').</p>
</blockquote>
<p>Here are the list of available commands (that have corresponding sub-commands and flags):</p>
<ul>
<li>serve</li>
<li>recovery-phrase</li>
<li>key</li>
<li>wallet</li>
<li>address</li>
<li>transaction</li>
<li>network</li>
<li>stake-pool</li>
<li>help</li>
<li>version</li>
</ul>
<p>To run a server, use the following code:</p>
<pre><code>cardano-wallet serve \                        
    --port 8090 \
    --mainnet \
    --database ~/cardano/wallets/db \
    --node-socket $CARDANO_NODE_SOCKET_PATH
</code></pre>
