Twitch has a few additional IRC-ish commands like CLEARCHAT, which deletes messages by a given user. Most IRC clients don't support this, but Twitch's browser client of course does :) In larger streams spammy messages are usually removed by bots like http://www.nightbot.tv/ or http://twitch.moobot.tv/. That's where the delay comes from: messages have to arrive at the moderator first.
Interestingly, CLEARCHAT can only delete _all_ messages by a given user (as far as I know), so non-offending messages are also removed. This is done by the client, the chat servers only pass "CLEARCHAT #channel_name user_name". (e; it's all messages by a given user, or all messages in the channel if no username is given)
In the Twitch browser client, you can double-click the <message deleted> text to show the original text if you really want to! :)
Reference: https://github.com/justintv/Twitch-API/blob/master/IRC.md
The IRC gateway passes through everything so I'm seeing it all unfiltered (as far as I can tell).
Most "twitch chat users" use BetterTTV[0] which adds some pretty useful features, and also stops messages from being deleted.
Twitch's chat protocol is compatible with IRC, but IRC doesn't support all new features, so things like replacing banned words with <Message Deleted> won't show up.
[0] https://www.reddit.com/r/Twitch/comments/2dkro7/a_detailed_g...