Having lived in Japan for 3 years and experiencing a lot of their culture, I've learned that the reason anime characters yell their attacks is because it promotes a fair, honest fight. Japanese people love friendly rivalries, and the only way to truly prove yourself better than your opponent is to give them every advantage and still come out victorious. Only a truly bad person would try to sneak in for an attack and catch their opponent unprepared. And that won't settle any rivalry, even if they won the fight.
Plus, yelling your attacks just sounds cool.