Almost every modern technology system needs some sort of backend software. The notable exception is a mobile, stand-alone application that runs only on the device. Even then, most mobile only software has backends that enable updates at a bare minimum.
If we look again at our original graphic of a modern application, you will see that there are backend services that are consumed by our front end.
These services could be any number of things, from remote storage to data for the user to extra processing to ad or video streams. Backends are also used to gather data about usage, primarily for the purpose of evolving the app. This data is often used to provide more targeted advertising to the user.
Backends are typically hosted on servers of some kind that sit in a datacenter. While it is tempting to run your own servers and datacenter, these days you are much better off using one of the major cloud providers such has Google, AWS or Azure. The reason for this is that the overhead of maintaining infrastructure can be high and the security risks of not keeping up are very real. These providers are all able to provide any backend systems you require for a fraction of what it would cost to do it yourself.
Choosing a backend provider seems fairly straight forward, but you will need to identify who will build your product before making such a decision. The fundamental reason for this is that large cloud providers have a huge number of services which can significantly speed up development and reduce cost significantly. However, taking advantage of all these services requires knowledge of how they work and their limitations. Your development team will often have a preference and deeper familiarity to a particular service, so they will drive this decision.
* See our whitepaper on Technical Debt if this is an issue you are already facing