What is the difference between the various log messaging severity levels?
The levels are mostly arbitrary below alert, and just represent a general priority of "badness".  

In theory, a minimum log level could be set up in core, so that you could enable logging on a live site, but only have certain levels logged (say, emergency, critical, error, and alert) and the rest ignored.  To my knowledge, this hasn't been implemented (I would love to be shown wrong about this).

The current usage has more to do with filtering on the recent log messages page (admin/reports/dblog).