There are a number of factors which go into if you need a demo or not. In my book *shameless plug* I allude to the fact it may be in your best interest to NOT have a demo at times.
Here are the factors that go into the demo making decision. I'll repost this in my blog as well:
1) Hype- How much work has been done and how much are you relying on the demo to build hype. If you're about to release a game and haven't done anything to promote it then you need a demo to help build traffic.
2) Target Audience- Who is likely to purchase your product? The closer you get to the match-3 / diner dash casual audience the more you will need a demo. The reason is because your target audience with casual games don't consider themselves game players. They download games every day (yes, that's right) and their purchases are purely impulsive. This is slowly changing, but will still be true for a long time.
3) Difficulty of the Game- The reason most titles do NOT have a demo is because their complexity. For example: A wargame. The theory is that a demo user is less motivated to learn a game and will dislike it more because they don't understand what is going on. If they purchase the game they will take the time to read the manual and understand the dynamics, leading to greater enjoyment and more likely second purchases.
4) Quality of the Game- Looks vs. Quality is an important factor here. If the game looks fantastic and plays like ... well, crap. It is in your best interest not to have a demo. The worse the game the less likely you should be to release a demo- afterall, it is better to have your customers unsure of your quality than to know your game sucks. When in doubt, since you are unlikely to honestly say your own game sucks... ask someone objective... like me.
5) Quality of the Demo- If your developer in question has no clue how to make a good demo, a demo will actually hurt sales. A good demo design that cuts the user off at the right time is vital to higher conversion rates.
I tried to get these in 'importance' order, more or less. The key problem most indie developers face is simply their entire marketing plan hinges on a demo. The target audience is a factor that will simply force you to make a demo no matter what.
This is probably missing a few ideas, given I wrote this in about 5 minutes of the factors I have seen that either damaged a game's sales or factors I have seen that lead to the decision not to make a demo. Still, it is a good guideline to get you started.