I haven’t commented on this sensationalist stuff, yet, because I was waiting for this: Apple’s official response.
Windows Phone 7 and Android do the same thing (http://cnet.co/e3CEtm). The difference is that they only keep a little bit of data (days rather than years).
I’m not saying this isn’t creepy or that Apple didn’t screw up. I’m saying that the extent to which they screwed up has been blown way out of proportion. They have owned up to it now in their official statement, calling the fact that they aren’t deleting data more than seven days old a “bug.” They’re going to fix it in a software update that will be out soon.
The location data was not your location data, they also point out, as anyone who used iPhone Tracker could tell. It’s the location of cell towers and WiFi gateways. You could, obviously, have a fairly accurate map of where the phone was with such data, but it certainly casts a much less sinister shade on why the data was captured in the first place.