I've never looked at QGISserver but for GeoServer and MapServer the following:
- Yes.
- Usually when it is rendered to the image being returned.
- Each projection will usually be cached separately. You will note most caches don't offer so many projections. There is of course a small performance hit with any reprojection.
- Ease of coding, By default GeoServer for instance just lists all possible projections even if they make no sense for that particular data set, but can be modified to show only those the provider wants to offer. MapServer only lists the ones that the user has specified for the map layer (or file).