To me, it seems as though "mainframe" is a somewhat dated term; is it simply an older synonym of "server," or does it server a purpose more similar to a cluster/supercomputer?
A mainframe is designed for processing large amounts of information by the use of batch transaction processing. It particularly works well at running scalable software and dealing with massively parallel operations. Everything about mainframes is screamingly fast. Mainframes are typically built by IBM and usually run z/OS.
A server (when referred to in the hardware sense) is a PC with higher reliability / quality parts and runs usually a *NIX variant, or Windows Server.
Mainframes can run software services, such as JEE application servers, web servers, etc. They are designed to accommodate the concurrent use of hundreds or thousands of users in addition to their batch processing load.