The service provider will have more to do with uptime than the technology its running on. I'm gong to avoid recommending any one provider but generally speaking you get what you pay for. That $5 or $10/mo VPS is almost certainly running on oversold/allocated hardware. With a more expensive VPS the server will less likely be oversold and probably managed better. But even the most reliable service providers will have downtime from time to time.
The most resilient websites out there are mostly running in the cloud, many on Amazon AWS (although other solutions exist). This does not mean AWS is highly stable though. There have been numerous high profile AWS outages. It just means AWS offers the services and an APIs necessary to develop a highly available solution. It is up to you to design your application to be resilient against single node outages. There is no one answer here and highly dependent on the application your hosting. This might be a HA cluster using something like pacemaker, corosync, clvm, gfs2 ect.. or it might be a simpler solution such as a load balancer with two application nodes that have database replication setup between them.
If your worried about a few hours of downtime you really do need to consider this. If your going to host your application on a single server be it a dedicated server or a VPS your going to have to accept some level of downtime. Hardware fails, DDoS attacks happen, maintenance needs to be performed, ect... 7 hours at once is high but certainly not unheard of.
But putting all that aside here are a couple of my experiences with VPS providers vs Dedicated Servers.
With a VPS provider you will be told maintenance is going to be performed at a certain time and will have no ability reschedule it. With dedicated hardware you are more likely to work with the data center to schedule the maintenance windows to meet your needs.
It is true that in a multi tenant VPS infrastructure you do not have a full picture of what is going on the server. Your troubleshooting tools may lie to you. For example it will report low disk I/O despite high latency on disk operations. However in reality I never really had too much trouble in this. Again it will highly depend on the service provider you choose and to some extent just luck. However if you treat your servers like cattle and not like pets this is not a huge problem. You just destroy the server and bring it up on a new server. Of course that requires some forethought and proper automation in place using infrastructure as code principles and practices.
With a dedicated server the underlying hardware will never get upgraded until you specifically ask for it and pay for it. With a VPS provider the service provider will manage the hardware and retire servers and add new servers as needed and most likely transfer your servers without you ever noticing.
You are paying a premium for dedicated hardware so you are more likely to get higher quality of support from your data center. But again this is just based on anecdotal evidence and experience.
It is much easier to upgrade a VPS (RAM, disk space, cores, ect...) with minimal downtime. Often just a reboot. With a dedicated server at very least someone at the datacenter will have to power the machine down and open it up to perform the upgrade and your looking at 30min to a couple hours of downtime.