View-only wallets cannot sign transactions, therefore they can't spend a balance alone. However, they can be used as part of an offline transaction signing, by creating unsigned transactions to be signed offline in a cold device, and later by sending the signed transaction to the network.
If your wallet has outgoing transactions, the balance displayed will not be correct. To get a correct balance in a view-onlywallet, you have to import the accompanying key images of each output of the wallet.
You can also create a view-onlywallet of a hardware wallet, however this kind of view-onlywallet doesn't support offline transaction signing and importing of key images.
Open an existing wallet and type `address` and `viewkey` commands to display the wallet's address and its private (secret) view key. Type `exit` to close the wallet.
Next, create your view-onlywallet by typing `monero-wallet-cli --generate-from-view-key wallet-name`. The last argument will be your new wallet's file name. You will be prompted for `Standard address` and `View key` by the wallet. Paste in your original wallet's address and private (secret) view key. Next, enter and confirm a password for your new wallet.