Un serveur virtuel est une fraction de machine (le serveur hôte) possédant ses propres caractéristiques et ses propres ressources. Le système de virtualisation découpe la machine physique en isolant les serveurs virtuels entre eux, de façon à ce que tout se passe aux yeux de l'utilisateur comme s'il s'agissait d'un véritable serveur dédié.
Le serveur virtuel est donc une solution astucieuse et économique qui cumule tous les avantages du serveur dédié, sans l'inconvénient du prix puisque le coût de la location du serveur physique est divisé entre les différents locataires de serveur virtuel.
Une définition plus technique vous est proposée par Wikipedia.
Lorsque la sollicitation de ressources risque d'être considérable (bases de données importantes, beaucoup de sites dynamiques à héberger, etc...), un serveur virtuel risque de s'avérer insuffisant. Dans ce cas il est préférable de se tourner vers une solution à base de serveur dédié pour bénéficier de toute la puissance d'un serveur physique.