A long time ago, blizzard was going to update some of them, but decided not to because the old icons were "iconic". The players associated them with the spell, and springing new icons on players would be a PITA because many would be frustrated that "well enough" wasn't left alone and they had to get used to new icons (and some, I'm sure, would complain the new ones were worse).
But there's some that even after 10 years I don't recognize when I'm staring right at them. There's a few solutions, that let people keep icons they like, but replace ones they don't. I think it's unlikely, but blizzard could add a SetSpellIcon and SetItemIcon functions (that would probably lockdown in combat). The next two are for players, and the easiest is just to add a new (or reapropriated) icon in the Interface/Icons folder to override the original. The downside it is will override that icon for every spell and item it's associated with. The more difficult is to write an addon that intercepts a lot of the function calls that return an icon, and remap them keyed on something like spell/item name and original icon. The downside to that is you aren't able to click off buffs, and vehicle UI screws up sometimes. But I'm getting off track.
I finally got tired of two warlock spells in particular (summoning stone and soul well), and couldn't find icons from other spells to use, so I made my own. They better represent the spells, but look kind of like the old icons too. I thought I'd share. Just put the blp in your Interface/Icons folder (make one if it's not there), and rename spell_shadow_twilight.blp and spell_shadow_shadesofdarkness.blp. If you change your mind, just remove or rename the files. You have to restart the game for icons to update (not just reload or relog).
If anyone else had replacement icons they've made, please share.