This has been an interesting thread with many good ideas. I particularly like the one based on the number of store items. Many online stores sell only a small amount of items, so the return is not that great. But, the store owner still wants to look as professional as possible.
Here is something else to consider. Logically break the module apart in to components that could be sold separatly. A person who only needs a catalog purchases the base. A soft goods seller adds a softgoods module, and hard goods a hard goods etc. This is a simplistic description of the idea, but I hope you get the idea. One of the most popular stores has a great price, but is overly complex because of all the built in features that are useless to the majority of its users. A componentized core following the DNN concept, would allow not only for better price matching to the customer needs, but also reduce the complexity of the module.
ListX has become my Swiss Army knife for each of the commerce modules. I select a commerce module that has the closest core to the requirement and then add a ListX layer to the presentation. It works, but is a real pain to keep up with across projects.
Of course at this point it may be too late in your development process to go this direction. But, my two cents....
Rob