The usual reasons:
1) Server hosting plan that doesn’t give adequate resources to the web server and database engine.
2) Hosting provider that doesn’t understand how to configure web and database servers, or tries to restrict the amount of resources (shared server) so that multiple accounts are given a fair shot at using them.
3) Inadequate configuration of Magento itself, it needs all its caching turned on and a memory_limit of 256MB or above, gzip compression, etc. enabled.
4) Need for a full page cache system to set up.
5) Failure to use a Content Distribution Network to offload serving images so your server can concentrate on running Magento.
All this has been discussed before and in exhaustive detail in one of the longest threads in these forums...
American Opulence Analogy
Magento = 45 ft. Beaver Motor Coach
Zen Cart = VW Camper Van
Everyone starts out wanting to power the Beaver Motor Coach with the 4 cylinder VW engine instead of the Detroit Diesel 8V-71 it requires.