Muting someone just stops their tweets from appearing in your timeline. You'll still receive any tweet they send you as an @mention or a direct message. Muting is useful for temporarily shushing people who are live-tweeting an event that you're not interested in while keeping all other lines of communication open. They won't know they're muted unless you tell them.
Can you see their tweets? Only the ones where they've tagged your name
Can they see your tweets? Yes (unless they've muted you)
Blocking someone means you don't see their tweets. None of their tweets will be shown to you including their broadcast tweets and any tweet that mentions you. They also can't follow you or interact with your tweets. It is possible that you'll still see something of them if someone else that you follow retweets one of their tweets. All of your tweets are still entirely visible to them however, blocking just means they can't communicate with you on Twitter.
Can you see their tweets? Yes but on official Twitter you may need to click a 'view tweets' button (see first picture below)
Can they see your tweets? Yes, but it may take more effort depending on what platform they use (in second picture I've taken the screenshot from Twitter desktop which doesn't show profile, but Echofon on iPhone does).
|What it looks like when you block someone, on Twitter|
|What it looks like when someone blocks you|
(on Twitter, tweets visible on other apps!)
They may know they're blocked if they look at your profile on official Twitter sites (desktop or Twitter for smartphone / tablets) but might not notice if they're using third party apps.
Blocking someone does not stop them from seeing your tweets however and even if they're shown a blank profile your tweets will still show up in searches. You can see screenshots of what a blocked account can still see (I tested it with a spare account) here.
If you have blocked someone know that they can see your tweets by searching for from:yourname.
Think of the Twitter block more as a "continue to site" hurdle rather than "you shall not pass" barrier. Most apps still show a blocker's tweets to a blockee (even when logged in) and blockees can always search for a blocker's tweets (even if they're logged in), or just log out.
Rather unfortunately an awful lot of people have taken the "you are blocked from following X and viewing X's tweets" to mean that "if you block someone on Twitter they can't see your tweets", which isn't true.
2a. The missing impossible level
This is the one that everyone seems to want - the ability to really block one or more people from ever seeing your tweets while making all your tweets publicly available to everyone else - but of course it's impossible. Anyone, if blocked, can use another app, use another browser or log out, or search for the tweets of someone who's blocked them.
It is impossible to stop someone from seeing your tweets unless you make your tweets private and trust everyone that you've allowed to follow you.
This hides your tweets from everyone except those accounts that you've allowed to follow you. Your tweets will not show up in search results and tweets you send to people who aren't following you won't be seen by them.
Can you see their tweets? Yes
Can they see your tweets? No (unless you give them permission to follow you). Remember that your followers can share your tweets by manually retweeting them (comment RT) or by taking a screenshot (or, worst case scenario, having their account phished or hacked).
If you want to see how much people can infer from your conversations, even though they can't see your tweets, run a search for to:yourname or just yourname. In fact I'd recommend this to anyone with a private account.