I'm sure you are aware there are three main methods to gain income from games, selling them from point of sale, or a free play game, with ingame items to buy, the being third via advertising. Generally I'm in favour of the free play, you tend to get a larger player base and it does help increase it's popularity as free games tend to get played more often and encourage others to play it than ones you have to pay to play, which can often mean you spend less advertising it. You do have to make sure you make enough sales of course, but build it right and this is not usually a problem.
There are plenty of very addictive puzzle style games on FB for example, so this will be my example.
However this idea will probably work best in social environments, so if you don't want to implement it with that, it won't be of much use.
From a programming stand point, they are not that difficult to program, time consuming maybe, but not hard.
And when people get frustrated in unable to complete levels and get reminded their friends "beat" this level (with scores even), some will pay to get bonus items, so they can get pass that level or just merely beat a rival.
It's an idea that has been done to death, but it's has been done so because it works.
1) Block based games, where you have to move them about in an arena based upon special rules, certain things will happen. Make it interesting and difficult with those rules and it becomes a game of skill and planning.
2) Numbers game, recreate different levels of difficulty in cryptology experiments with hidden messages. Keep track of times and obviously correct answers. Could do it like a hangman style for correctly figuring out a message for example, or maybe only allow full message guess'.