Osmarender is a custom-written rendering tool for OpenStreetMap data that produces Scalable Vector Graphics (SVG) output suitable for printing, using in a web page, or editing and converting to another format. It's the technology used to generate one of the example renderings on openstreetmap.org, but it's also well-suited to producing individual maps from a file containing OpenStreetMap data. The advantage of using SVG for a map is that you can choose the size of the image you want to use without losing image quality.
Osmarender isn't a traditional program, but an Extensible Stylesheet Language Transform (XSLT) document that an XSL processor uses to turn an XML document containing OpenStreetMap data into an SVG file according to a set of user-defined rules.
This means that Osmarender can be difficult to use at first, as it's driven from a command line interface, and you need to edit XML files to customize the rendering. You don't need a full understanding of the details of XML...