You are asking a "how long is a piece of string" question. The answers are going to be different depending on what your own requirements and situation are.
It will also depend on what type of on-cloud deployment you are comparing with. Are you comparing an "own-managed" cloud deployment or a "Software As A Service" deployment?
Going on-cloud introduces a whole load of complexities you don't have with on-premises. For example:
- dealing with and negotiating agreements with a cloud provider
- having to pay for storage
- having to pay for data uploads and / or downloads
- maintaining appropriate data and application security, since you are now exposed to the public internet
- etc, etc....
On-cloud is touted as the way of the future, providing more flexible and more scalable computing resources. But as usual the devil is in the detail. At the end of the day, there is nothing wrong with staying on-premises if you've done your homework and found it is still your best option.