End of month or end of quarter is definitely the best time to negotiate. Dealerships have quotas and salespeople are more motivated to make deals. I always shop around before walking into a dealership too.
Certified pre-owned is the sweet spot if you ask me. You get a reliable car, still under some warranty, and you avoid the massive depreciation hit of a brand new vehicle. Best of both worlds.