The usual answer is three, Architectural, Structural, and Mechanical, but should be four with t he fourth model being a site model.
So lets get a little more complicated with how many models we build. Let's say we have a project that has multiple detached building on a site. Each building on a site should have it's own set of models. A problem that usually occurs when you have one model that has two or more building in it you lose control.
One way you loose control is that you have way two many levels because rarely do the two building have the same finish floor.
Another way you loose control is placement of the buildings on the site. For example, lets say you have a project that has existing building on site and you are doing a major addition to one of the building one of the things you are designing is a canopy that links the two building together. Base on the survey that you provided you always assumed that the buildings were a certain distance away, but when the contractor gets to the site you find out that the buildings are actually closer or further away then the survey shows. Because you built the building in the same model if you try to move the building to the correct location on the site every live section, detail and/or elevation gets messed up. But if the buildings are separate models you can move the building without effecting any of the views of the project.
Since Revit 2013 we have been given the ability to keynote linked files which also gives us the opportunity to create a model exclusively for documenting. What you would do is link in all of your separate building models into a single model where you would create all of the elevations, and cut your sections. This workflow seems like it would be a great way to separate the design from the documentation, but it is a little clunky because you really can't separate the the design from the documentation, and you get the same problem if building are in the wrong place.