If it were
just cosmetics do you think people would be so vocal against TF2?
It's all the unbalanced weapons and shite that Valve keeps adding in that alter classes.
When TF2 first launched... The thought process of identifying an enemy was as simple as "See enemy, identify silhouette, enemy 100% identified" you knew EXACTLY what that character was capable of.
Then eventually more and more weapons started rolling out next to cosmetics that added way too many variables to the sandbox. NOW, the thought-process, for example, is... "See enemy, attempt to identify silhouette through the stack of hats and other bollocks adding or subtracting from their figure, attempt to figure out what weapons they are carrying, subset of what this enemy could be potentially identified." Honestly the best course of action in TF2 has become to let the enemy throw the first stone so you can figure out what subclass they are now.
There's too much of a mental-stack going on in TF2. I don't know if this Demoman in front of me is going to blow me up or shank me like someone using Commando in MW2. Back at launch there was ONE set of possible actions a Demoman could use, and you didn't have to account for whatever randumb shit got thrown into the mix. Valve should have just added new characters to TF2 instead of new weapons, seriously. I could think of two new complete characters from the junk added in the original The Medic Update that would add depth to the game rather than shit it up.
Overwatch's cosmetics all make thematic sense for their characters, they don't alter silhouettes (THE BIG ONE.) generally, and the ones that do are still easily identifiable as a specific character since unlike hats, skins are linked to specific characters. Furthermore, Blizzard isn't going to add new weapons to existing characters, but instead make new characters that do new things.
Team Fortress 2 post Mann Co Store has absolutely no artistic integrity whatsoever. Overwatch is a shining beacon for what TF2 shoulda, woulda, coulda become.
tl;dr