Our CGI shopping cart uses a flat file pipe delimited text file to store all of the products. This means that you don't need to have a true database such as MySQL in order to run your store. The down side to this is that if you have a large number of products it can be slow to access the text file and locate the products for display. The number of products you can add before it begins to slow is dependent on the speed of your server. I usually only recommend this cart if you have no more then a few hundred products and no access to an SQL database.
The biggest thing that you will find lacking from this cart is a customer area where a client can come and see there orders, or manage their account. This is just not really feasible with a text based cart. As you can imagine if you have ten's or hundreds of thousands of customers stored in text files it would be a bit problematic. You would either have huge files, or thousands of individual files and both of these options become difficult to manage.
This cart is designed to require only the most basic of external requirements, which means that it is suitable for almost everyone.
The advantages of this system is that it is extremely simple. The down side is that there are some limitations on the features that can be added with this sort of solution. It also only works well with a small number of products. Once you start dealing with a large number of products it is much easier to have all of your products databased in one location so that updates and management of products is much easier.