He died two times and was brought back by the grace of God. Once the battle was over and he tried to rebuild the chaos in heaven, we started to notice a change. Perhaps he had lived among humans too long and had taken on a few of our lesser traits, but when he started making deals with Crowley, we knew it was the beginning of the end for our good friend.
When he took the souls of Purgatory including the Leviathans, Cas had a last second change of heart. His final acts were of redemption and sacrifice as he fought with all his might against the evil that had invaded him. When his body disintegrated in that lake and only his trench coat remained, we knew it was the end.
The creators of the show have openly said that Cas died and at the moment they weren't going to bring the angel back the same way as we had previously known him. Mischa Collins, who portrays Cas, is set to some back later this season, but likely as the vessel and not the angel. I honestly hope we have not seen the end of our angelic friend. I have missed his developing sense of humor this season and look forward to its return even if its only for an episode or two.