What kind of speed do you need? A: Booting the system, saving and optening files and launching applications or B: speed in an app like image or video editing or processing?
The first, A, is achieved with solid state drives. Get as large a drive as your budget can afford and then you can add additional rotational HDs for file storage thru external HDs from macsales.com.
The second, B, is achieved by increased RAM. If you get a 21" iMac then purchase as much RAM as offered because it is not user upgradable after purchase. If you get a 27" iMac get the basic 8 GB and run with that to see if it meets your needs. If you find you need more you can get additional RAM modules from Crucial.com or macsales.com at less than 1/2 the price that Apple charges and you can install them yourself.
As for which CPU to get that will depend on the type of processing you intend to do. If you do a lot of heavy duty image and video editing you will want to go with one if the faster i5 chips or the i7 chip.
So do what rkauffmann87 suggested and visit an Apple store, tell them what type of computing you'll be doing and test drive the type of iMac that they suggest.