This felt like a long time coming, but Rick was forced to kill his once best friend. On top of that, the undead version of Shane was eliminated by Carl in order to save Rick. Shane just wouldn't stay down.
Her storyline may have dragged on, but it was still a shock to see Sophia stumble out of the barn as a walker. It was a powerful way to end the midseaon finale of The Walking Dead Season 2, especially with Rick finishing her off for good.