Let's be fair. No one should shit on Cotto and no one should shit on Canelo.
Yes, Canelo is 22 years old but he's been a pro for 7 years. He's no rookie. If he's a top fighter he shouldn't have a problem fighting other top fighters. Cotto is a massive star and a proven vet and he had no problem fighting Trout.
Cotto is at the tail end of his career losing to Trout is not shameful. Cotto is a hall of fame fighter and he's gone through a gauntlet of tough opponents from 140 to 154 ( Randall Bailey, DeMarcus Corley, Ricardo Torres, Paulie Malignaggi, Carlos Quintana, Zab Judah, Shane Mosley, Margarito, Clottey, Pac, Floyd & Trout).
With that said, just because Canelo hasn't fought the same quality opponents doesn't mean he wont beat the likes of Trout, Lara, Kirkland, etc.