I have always felt edit buttons are of more benefit to the developer than the user. (And not even that much less work; how hard is it to set a dirty flag when a field value is modified?) Doesn't the user clearly indicate his or her intention to edit data by, well, editing it? Why should they have to click a button first, THEN edit the data? It's like having to announce you are going to open a car door before opening the door. You'd be surprised how many users ask for an edit button. Truthfully, it's not something I'd fall on my sword over, but there are times where it can provide some visual benefit.
On your last line...I hold out my little remote, click unlock, and then I open the door.....would you "really" want that little button on your remote to actually open the door for you? :)