I've always heard that it is bad practice to develop against production data and am currently in the process of moving to a Dev>Stage>Production model, mainly because I have a new employee with minimal skills and I'd rather not have him work directly with production data yet.
But for a long time I've worked directly with production data with minimal headaches, except for maybe a few errors creeping in here or there, things like spelling issues, bad alt text, links pointing to the wrong location. This seems to be due to a lack of peer review on my part, not because of working with live data.
So why is developing on the live site such bad practice?