My employer bought their own server hardware and has send it to a special hosting company to be included in their server park. Because it's our own server, we can do with it whatever we like and we're using it to host multiple sites. It is out machine and it will stay ours forever.
The hosting company makes sure it keeps running, doing regular maintenance and checkups and they provide the power and Internet connection for our box. They take care of the hardware architecture and we're responsible for the software components.
However, there are also dedicated hosting solutions where you don't buy but rent a host. While this is less expensive, it also allows the hosting company to add any other restrictions to the hardware/software. For example, they could restrict you to just a certain operating system, database or virus scanner. In return, they will take care of some of the software on the system, keeping it up-to-date and doing the required maintenance and repairs to the software.
In general, there are lots of different kinds of dedicated hosting but in general it means that the hosting company is mostly responsible for the hardware while you yourself are more responsible for the software. One advantage for the host is that if your software crashes the system, it would only crash your system. With shared hosting, one site could force all 300 other sites on the same host to go down crashing and burning.