If my understanding of what they mean by “shared” is that the database process runs on the same machine as other database processes. This is where the “database process” is the actual daemon, or program that manages the actual data, and is what your code connects to.
The advantage of this is you can run multiple database instances for multiple people on the same machine. However the main downside is everyone is “sharing” that machine, so if one person is doing a lot of work, and thus using the CPU or RAM, yours might “collide” with the work and slow everyone down.
The cost benefits usually are pretty good, as the hosting provider can more easily share their infastructure. I suggest to review the requirements, if they are simple and wont require dedicated infrastructure, the cost savings are probably worth it.
A private one means you get your own “machine” on the hosting providers infrastructure that can use all the RAM and CPU cycles it wants, and it wont matter what other people are doing as you essentially have all the “machine” to yourself. However, this also means paying for that whole machine all the time. Hence why this is more costly.
You’d want to go this route if the unreliability of a shared instance could impact your app. If things are slow with a shared instance due to the other people “sharing” the system with you use it often, or your requirements require faster database processing, then paying for a dedicated one will make things vastly more reliable.
Essentially if you have 1 database that means that database must hold/process/provide for everyone. If your requirements are something very database heavy having a single instance wont work well.
For example, some large applications that are global scale have multiple instances of databases that work together. An application like Discord needs to save billions of messages essentially forever, as such it uses multiple database instances behind the scenes.
This might not be as important to you depending on the requirements. If you have simple requirements for a Wordpress app, you should be fine with a single instance. I’d still look into back-ups incase something goes wrong, but having 1 instance should be ok.