I have multiple web applications. I am wondering if I should put them in one virtual server or put them in serveral separate servers meaning one application on one virtual server. What is the better practice?
Considering you don't mention any OS or dotnet versions, that's hard to answer conclusively.
Generaly, IIS 6.0 and higher allow you to allocate separate application pools (running different dotnet versions under separate identities in separate process spaces) to any part of the web site.
Prior to IIS 6.0, this was not possible.
Managing web sites is really an administrative concern, and has little technical impact.