I've been involved in a 4 month, extensive Magento development, during this time I got to experience both the bad and good side of Magento.
If Magento is a candidate for you next shopping cart, then do read further... I've highlighted some of the higher level pros and cons. Some of the key factors I discuss here could have a substantial impact and might just be the deal breaker for you.
I trust that the below pros and cons will make you aware of, and at least prepare you for your Magento migration or clean installation.
There are 3 critical development and deployment issues to take note of, whether you are migrating your existing online store to Magento or if you are setting up a Magento store for the first time.
Hosting server and Magento's performance:
Magento is an extremely large platform in terms of file and database table count, with in excess of 20,000 files and 200 database tables. Magento is very resources hungry and will most of the time crash or be very slow on standard hosting packages. Magento's performance will decrease even more as your store and inventory grows.
Make sure that you host your Magento store with a reputable Magento hosting specialist or on a dedicated server where you are allowed to customize server-side settings, like memory allocation for PHP, file permissions etc - SSH access is vital!
If you have an existing website and need to migrate your products, categories, customers and orders etc data to Magento, prepare for the worst case scenario. Migrating data from any shopping cart to Magento is a very specialized process which can take days to complete. You will be able to find paid-for solutions that can handle the migration for you, but even these solutions can take hours and even days to import the data, this is because of Magento's core import module that is extremely slow.
The Magento code base is quite complex, modular and high-level. Custom development is definitely not something that any programmer can take on unless they have solid experience in Object Orientated programming and specifically the Magento core.
Expect to pay double the standard development rate for a proficient Magento developer.
Magento's claim to fame is "the platform for growth" and this is no lie. Magento is extremely scalable/flexible and can be customized to suite virtually any business model. Magento by default installs most of the extensions you'll ever need and supports most of the well known payment gateways as well.
There are also thousands of production ready extensions to install, some free and some of the better ones comes at a price.
Magento is backed by many big names in the industry and constant development is tacking place in terms of bug fixes, new releases etc. I have physically developed on the core platform and must say that the architecture and quality of code is superb.
We all know how important solid on-site SEO is. Magento by default implements SEF URLs and meta data. This can also be customized via the administration panel.
There is a lot more to say and it will probably require 20 more posts like this one - in my opinion the above are the most significant to consider during your preliminary evaluation.
Bottom line being, if you can address the Cons, you will most definitely have the most superior shopping cart available today.