I've never had a good experience with Wordpress. No version control, slow GUIs, bad GUIs, over-reliance on 3rd party support, difficulty migrating to production server.
My list of complaints is longer, but those are my biggest problems. More and more clients are asking me to build their sites with Wordpress, and I'm afraid I'm going to start losing work if I can't go along. Right now I consider Wordpress unusable. Are there any themes or techniques I should know about which can alleviate these issues?
>No version control You can use SVN or git with WordPress. There are a number of tutorials online. You can use this for the WordPress core files, your plugins (3rd party and your own), your theme files, and even your Photoshop/Illustrator design files. I put my theme php in a plugin, instead of in the functions.php file, which keeps everything compartmentalized. I also use the underscores starter theme, and have built my own starter theme CSS files to go with that. This really reduces and isolates my custom changes.
>slow GUIs I haven't found the GUI to be slow during production. I use a local install hooked up with git/svn. Choosing quality plugins carefully helps a lot as well. I've seen a slow GUI on low-quality hosting, but even there, using a great caching plugin and tweaking the zlib settings on the hosting account can often help. Following the recommended guidelines and enqueuing and concatenating js and css files is also good advice.
> bad GUIs,
I find the base GUI works well for users. I find that some plugins, and especially some third-party themes with overly complex options panels, can become unwieldy. I try to avoid those whenever possible. I try to make sure that users get the appropriate user role, which also simplifies the experience for them. I've also used third-party plugins to hide some admin options if users say that there is too much going on. That helps as well.
> over-reliance on 3rd party support, As Endy mentioned, that's one of the benefits of an open source community. If you don't see what you like, you can build it. I think that one of the major obstacles isn't the number of plugins, but being able to spot the quality ones. Try for ones that have been around for a while, that have a large user base, that have developers who respond quickly and reliably in the forums.
> difficulty migrating to production server. WordPress uses serialized data in its database. Whatever option you choose needs to take this into account. There are guidelines on how to move your files around on the WordPress.org site. There are also couple of really good third-party plugins that let you migrate from local to staging to production servers with one click. I've used these a lot. Another key element is to make sure that your local development environment matches your production environment as closely as possible.
I hope that makes you more optimistic about your experience going forward. I've tried quite a few CMS/ecommerce systems, but using WordPress has made my work easier, not more difficult.