Un hosting compartido son pequeñas porciones de un servidor, que está configurado por igual para todos los que tengan cuenta allí y pocas veces se pueden hacer modificaciones individuales. Es más barato, pero más limitado.
Un VPS son igualmente porciones de un servidor, pero con otro tipo de configuración que lo hacen menos limitado que un hosting compartido, pero igual compartes el servidor con otros usuarios, sólo que aquí sí puedes configurar más cosas a tu modo. Al ser de cierto compartido, pero más complejo, es más caro que un compartido pero más económico que un servidor.
Un servidor dedicado es todo el hardware para ti solito, tu haces lo que quieras con él, no lo compartes con nadie y las configuraciones son a tu gusto y necesidades. Tienen más potencia al tener todos los recursos de hardware solo para ti. Son más caros.