As fas as new Android phones are concerned, they can be divided into roughly two camps. Premium and budget. "mid-range" phones are usually older premium phones.
Premium phones usually have large high-res screens, powerful processors and fair cameras. They usually
get updated when new versions of Android are released.
Budget phones usually have poorer, lower resolution screens, less powerful cpus (600MHz single core as opposed to 1GHz+ dual core) and poorer cameras. They often don't
Another thing to consider is that many budget phones use processors based on the ARMv6 instruction set rather than ARMv7, as found in more expensive models. Some applications, mostly video players and Adobe Flash, require and ARMv7 based cpu.
Another thing to consider is whether the device can be unlocked (most can, but some are easier then others). You will be interested in this if you want to install an alternate operating system.
Android phones sold as PAYG are often crammed with annoying "foistware", so the ability to flash your own OS to get rid of it is useful. Have a peek at CyanogenMod
for more info (You won't see anything today (18th Jan 2012) as they are participating in the anti-SOPA protest, and good on 'em, in my opinion).
If you are interested in Android development, you can get by using the emulator. Indeed, unless you have a stash of devices, you'll need to do this to try out your app on different screen sizes.
Hope this helps.