Most Helpful Guy
Depends on your price range and what you call cheap but in general I agree with @YazanAA
If you're talking sub $200 then I say Moto G. While it's only rocking a 8MP camera it's under $200 and it's running near vanilla Android which is a major plus in my opinion when looking into any Android smartphone (unless you're going to immediately unlock the bootloader and drop in a custom ROM but with xposed on vanilla android I don't feel the need as much anymore).
If you're talking sub $300-350 I say OnePlus One (depending on how much storage you choose). You get a phone running CM and you get a 13MP camera with 6 lenses.
If you're in the US - if you're with ATT and grandfathered in IIRC you can keep UDP with a subsidized upgrade, if your'e with Verizon you can't but you can do alternate upgrades to keep it if you're on a family plan (do this with a TDP line though not another UDP or a dumbphone line). There's also swappa where you would be able to get a used device cheaper so look into that and see if you can find one you like.
I'd stay away from Samsung though cause Touchwiz is horrid. It's an insult to ui's everywhere to even call it one that's how bad it is.0