Comes in two flavors - standard CGI that utilizes html templates to define the general layout of the map interface and a specialized map file to define the GIS layers. Second flavor is an API called Mapscript which also uses the Map file format for predefining layers, but also provides more malleable functionality that can be easily called from languages such as PHP, Python, Java, and ASP.NET (VB, C#, Mono note currently threading issues with running it in .NET).
Mapserver (formerly UMN Mapserver) is a great server because it is fairly light weight and can run pretty much anywhere under any webserver known to man and any OS known to man. It probably has one of the if not most comprehensive support for various datasources via native drivers and the OGR/GDAL drivers. Common datasources supported include ESRI Shape, PostGIS, Oracle Spatial, ArcSDE, MapInfo, text files, ODBC, prelimary support for MySQL spatial. It supports its native Mapserver protocol as well as WMS, WFS, WCS OGC standards.