What model iMac is it? Will have a bearing on the maximum RAM you can put in.
More RAM means the iMac will need to read the internal HD less, so I reckon max out the RAM first and if that doesn't improve speed enough then look at an external.
I've found booting up speeds up a lot with an SSD but not a great improvement in the general speed in day-to-day use of browsing, emails etc. I rarely reboot mine though.
If you're doing HD-intensive stuff, say video encoding then the speed increase may be more noticeable.
On every Mac I've had I've always installed MenuMeters*, to give disk usage, memory and Internet connection data easily available from the menu bar. It also shows how many pageouts and memory swap files there are/have been, which is a key indication of how often your Mac is running out of free RAM and so using the HD to temporarily store data.
A bit like having a really small workbench and having to keep putting your tools back in the drawer between use to allow you room to work in.
* Free but I think it may be only installable on older versions of OS X than the current or need a bit of tinkering to install. Can't remember exactly but seem to remember it not being installed when I last updated.