Those are the "raw devices", one way that drivers expose what they are driving to other layers. For the most part you don't want to touch anything in there unless you already know you need to.
Here are a few off the top of my head:
/dev/null -> also known as the bit-bucket. Anything written to here just goes away. This can be useful in scripts when you don't want the output, and want to make sure that it does not pop up somewhere else.
/dev/random -> can be used as a source of random information.
/dev/urandom -> in MacOS X this is the same as /dev/random
/dev/tty* -> the terminals use this to communicate.
/dev/disk* -> these are the disks and volumes before the filesystem drivers get to them, but a little filtered
/dev/rdisk* -> even lower-level access to the stream of bytes on the disks (only useful for cloning operations)
These are all fairly standard for *nix systems. There are usually small differences in them between OSs, but the broad strokes remain the same.