Also, to the slow folks out there, here’s why it’s canon:
1. Cas says that the one thing he wants is something he knows he can’t have, then proceeds to make this declaration–a declaration of all the reasons why he loves Dean. He already has Dean’s platonic love, his friendship, and whatever else in between. So, why else would he do this speech if he wasn’t telling Dean that he was romantically in love with him? Dean’s the one thing that he wants but can’t have. Castiel’s moment of happiness is in just realizing that BEING in love with Dean Winchester is enough, and accepting that he doesn’t need to HAVE Dean in the way that he wants him in order to be happy.
2. Watch the show. It’s all there. The quality of the writing and execution may have gone down over the seasons, but it’s all there.
3. I just think it’s also important to also note that Dean had to process so much information in less than 5 minutes (Cas’ deal, Cas’ declaration of love, Cas’ motivations, Cas’ eventual death), so he’s obviously in a state of shock. And if you’ve watched the show, you’ll know that Dean’s more of an “actions” guy. Again, key takeaway here is: watch the show.
4. Canon means it is “officially written into the story”. Regardless of how poorly it’s been written, it’s still canonically written that Castiel is in love with Dean Winchester.
5. Did I want it to go down this way? No. But I’ll take what I can get. I’ve been watching this show for 15 years, and shipping them for 11-12. I think there were several moments in all the other seasons that would’ve been the perfect segue (just refer to the fanvids or even canon-compliant fanfics) into a declaration of love or even into a romantic relationship, but the writers were too busy with fillers and irrelevant storylines.
6. I really would’ve loved to see them kiss at least before Cas shoved him away. Partly because we deserve to see that, and partly to just get all the haters and naysayers to stfu.