How can I speed up CiviCRM on Wordpress
We struggled with this initially. Things we went through:


Check the debug console in Chrome to make sure Civi isn't having trouble finding resources - look for 404s in the Source tab. This can slow down Civi tremendously as it waits for them to time out. Can be fixed in the Admin -> Resource URLs / Directories / Update Paths
If you're running PHP 5.3, get APC cache. If you're on 5.5, turn on PHP Opcache (probably with this). With 5.4 you can install ZendOpcache, but if you can upgrade to 5.5 you probably should. This can make a huge difference.
Disable all Civi extensions and see if speed is better. Then turn them on one by one to see if any in particular are being problematic.
Ditto WordPress plugins. These can be deadly - we have a couple that are very heavy-duty (Admin Menu Editor Pro is great, for example, but can slow things down). I take the hit on them, but it's a close-run thing.
Try disabling the cron job and restarting apache (or whatever), just to make sure that's not doing stuff that's slowing everything down.
If you want to get really fancy, there's a WordPress plugin you can hijack to kill all WP plugins loading on certain Civi pages - instructions here.
Also on the server, install memcache and turn on memcache support in the civi settings file. Honestly, this might just be placebo, but it seems a bit faster
Might be worth optimizing the database tables in phpmyadmin, just in case those have gone wrong somehow.
Civi 4.5+ is pretty snappy, so do update if you're still on 4.4.x. [Edit: some big sites have found upgrades to 4.6, then 4.7, then 5.0 continue to improve performance.]
Turn off as many search options as possible in Admin -> Customize Data and Screens -> Search Preferences to see if any of those help (they never did for me, tbh, but others report good results). 
Turn off Smart Group caching on the above page by setting it to 0, in case it's running that every 5mins and dragging everything to a halt.
If the issue is that your server is struggling, WP-Super-Cache does a good job of caching WordPress front-end pages so the server can focus on important stuff, and is very configurable.
Make sure mysql caching is turned on.
Check the mysql slow queries log to see if it's struggling to extract data. Normally this isn't a problem, but worth checking.
If all else fails, you might just need hardware resources (memory and CPU), or a VPS, or a dedicated server. We moved onto the latter and it made a big difference.