I think EVERYONE has the wrong idea about Sucker Punch. And not just because it's Japanese name is Ambush, but that's only the beginning of understanding.
Sucker Punch isn't LITERALLY a punch. "But PJ," you will say, "It says punch, of course it's a punch!" No, it's just like... a figure of speech. All it means is that it's a surprise attack. Did nobody think of this? Is it so far fetched that "Sucker Punch" isn't a punch at all?
When you, "Sucker Punch," someone, you don't literally have to punch them. Nintendo didn't think it sounded cool (Or atleast, that wouldn't be the only reason), they knew it made sense, if you weren't retarded.
This is completely true, as sucker punch just means that you catch someone off guard and give them an unexpected blow...not necessarily a punch. Although...ambush made just as much sense as sucker punch and would confuse people much less.
Now this part isn't logic, but a guess... I assume Diglett/Dugtrio scratch/slash with dirt. Sharp dirt? Yeah, it could hurt, so that's why it could learn moves like Aerial Ace and Fury Cutter and what have you.
I don't understand why it is SO hard for people to imagine that diglet/dugtrio actually have claws. You can't see them because they never come out of the ground. How else do you think it digs? They are moles, moles have claws to dig. That's also why they learn slash. As for aerial ace, that attack is based off of the swift use of a sharp object...which is why pokemon with claws learn it.
And all the people bringing up Octillery... so very dumb. It's kinda obvious why it learns all those moves. Why bring types of moves into it, when it's obvious why it gets those moves?
Yes, even though its movepool seems very strange, it does learn those attacks for a reason. It learns projectile attacks because it is based on arTILLERY...and did anybody ever notice how remoraid looks like a gun?
In fact, I don't think Wailord should learn Bounce, except that it SHOULD, because it's ****ing hilarious. I still think Bounce would be a whole lot better if the damage it did was based off weight of the user, or possibley some equation involving the weight of the user versus the weight of the Pokemon recieving damage. Just IMAGINE. That'd be amazing.
They learn bounce because wailmer is a ball whale...like bouncing a ball. And wailord is a float whale...it is filled with a lot of air...which would obviously make it bouncy.