I used to play Teemo a lot when I was really new. He was my first Champ, and I even got my first Quadra with him. I did well early.
Skip a head a few summoner levels and everything changed. I started seeing more people that would jump on me when going into blind to take advantage of my squishiness, as apposed to letting me get a hit off, then trying to come in, then run when they saw I was winning the fight. That's when I really learned a lot about the game and limitations of dueling. Most AD champs 1v1 will destroy Teemo by baiting blind, or like Darius, just wait it out this way. I feel that Teemo is played like that a lot, over confident. His kiting ability combined with high damage, make him hard for melee, yet people let their face get beat in.
Personally now, If I see a Teemo on the other team, I go out of my way to get the free kill, mostly depending on how they build. Teemo can be effective, but the problem is that early game he is SO squishy that he gets dominated in lane. I still see Attack Speed/AP, Hybrid, On-hit, whatever you want to call it Teemo's doing well.
Aside from the obviously support uses of him (blind, shrooms, stealth), he can be useful all game long. Imho, there are alot of people that don't play him correctly. Because of this he can get a bad name easy (like any champ) and I suggest if your interest is peaked, to get him. He's cheap! Try out some builds before taking anyone else's ideas as you never know. He very well may fit your playstyle. A well played Teemo can change the outcome of the game, weather it be getting that double from shrooms for the ace, or shutting down a carry. I wouldn't pick him blindy in most cases, unless I knew my team mates. He counters a lot of champs, so in a draft pick situation he becomes a smart choice against AD heavy or even tanky heavy teams if building on-hit.
So in the end, the player makes the champ. I can sneak around the back of the team fight, and focus their fed carry down before they can react then speed boost/shroom away and join my team. If you get far enough ahead, you can just stand there invisible while they run past you! If you're looking for a champ that just runs into team fights and destroys everyone, try someone with lots of AoE damage like Brand. There is no good or bad champ for any one game because the teams, players and situations are different every time. Like any champ he can excel or be shut down. I should note that I always played him as attack speed/on-hit/AP. This made my shrooms do moderate damage and my auto attacks wreck.
P.S. I felt this was too long so I took a lot of the info out. Mainly more detail supporting my arguments, and as I said I feel you should give a champ a chance before you judge it because if one person plays it badly, that doesn't mean that it won't be a better fit for you. Just wanted to say that before I got eaten up by people for sharing my opinion.
Edit: I also meant to put in that like any ranged carry he is squishy, but proper positioning, knowing when you engage, and even tanks protecting you make all the difference. You jump on any carry and think, "wow that champ sucks, I just 2 shotted it!". However you should pick your battles right, and focus the right targets to succeed. That's just normal practice for any carry. I can't stress that enough, an out of line Teemo is always going to look bad when he dies in 1.2 seconds while his team mates sigh, running away.