Hello Kjell,
One solution is to have several galleries, one for each topic using MaxiGallery.
You could for instance put two MaxiGallery calls in each document, one two display a large picture and another to display clickable thumbnails. (see the wiki for this technique)
Then, you can list the galleries using Ditto. Prefer a Wayfinder tree view if you want the galleries to display according a hierarchical structure with sub-categories.
If you want to get rid of the document structure, you can use ListMembersByCategory, which allows to list data into one or several categories. You can use whichever tables you want for "categories" and "members".
More info:
http://www.altipoint.ch/index.php?id=600
Example use:
http://www.sspm-geneve.ch/index.php?id=12
For the shopping cart, TreasureChest is one solution amongt others.
There was an extension named Dp4Tc for downloadable products. (Not sure if it is still available.)