CSV Files are commonly used as the data part of Databases on really low-end designs. Since they are just raw text in a very simple format, they have the upside of having a low system overhead (verses something like Oracle 8), and they can be hand-hacked using VI, EMACS or some other text editor. They also have an additonal virtue as database as they are pretty much platform indendent; whereas something like mySQL or Postgres are only (freely) available on *nix platforms, a CVS system can be used on any system that has a directory based file system.

The down-side is that although they're useful in the respect, they are also very limited. For example, a Perl program using DBI to conenct to a CSV database (using Jochen Wiedmann's excelent code) cannot do things like JOINs, and fields cannot be defined by content (eg Integer, String, etc).