I'll be typing up a short series of posts about speech tags. I want to lay down what speech tags are -- and why action tags don't replace speech tags -- and where you really deeply need to use them. What the point of having speech tags is. All that good stuff.
I'm going to pretend for this that exceptions don't exist until I'm done with these posts.
Let's start with my best worst example, Ellery Queen.
"That's it!" cried Ellery.
"Well, if that's what you think," laughed Ellery.
"Not again," Ellery muttered to himself.
Only one of these is a speech tag. One is almost a speech tag.
The first two are action tags. If Ellery 'cried out' then it would be a real speech tag. Crying is an action; laughing is an action.
A speech tag is what you use with dialog -- he said/she said, or asked, or any of a number of words that mean you spoke. Exclaimed is a speech tag. Whimpered, giggled, gasped, smiled, frowned, sighed... are all action tags. They're actions. Hissed is an action, even though it's often used [without sibilants!] as a speech tag.
Speech tags are important. Readers need them. I'll be saying that frequently, or variants on that theme. I'm not there, I can't see your characters; I'm not on the phone, I can't hear them. Make them clear to me when they speak!