Here's my problem. iCloud stores old contacts, maybe ones I emailed once or twice. I heard of this issue months ago, and to remedy, all I could do was reset my phone and keep iCloud shut off so that it didn't store these old contacts.
Anyway, when I moved to ios7, I forgot this, and turned on iCloud as I got set up. I put my Gmail account in as normal. When I went to compose an email and typed in a couple letters of the person I was intending to write (from my Gmail contacts) I saw them, as well as a host of other old emails and knew it was iCloud. I confirmed this when I went into iCloud Web, which that email acct. I never used and is ermpty, and typed in the contacts in a compose message and voila, all these names appeared.
For my phone, I had to reset it again and make sure to keep iCloud off so I don't see those contacts, but this is a big issue - Apple is storing these old contacts that I want obliterated. There are personal reasons I deleted those contacts, and in the case of iCloud, it imported an address book from an old employer and none of those folks I ever want to see again.
Same for texting on the phone, I've noticed that if you delete a contact, they still live in the phone. I don't understand why we can't obliterate these. I don't get why Apple is insistent on us keeping these old contacts in our lives...