Here's a few of my thoughts, it doesn't cover everything, but to me these are some of the important ones from a game design POV... As a game designer when I first saw Candy Crush I thought it was a pretty average game. However after playing it I realised that it has a very clever underlying design that appeals to the various psychological needs of casual players. It also provides an experience that is in a way, quite similar to gambling.
First off it's extremely simple to play, tap to swap two candies. Can't see one to swap? It will show you an available swap after a little bit. There's a bit of skill involved in choosing which candies to swap, which gives the player some sense of control, but the game is mostly based on luck and often some levels can't be won (unless of course you have money to spend on in-app purchases if you can afford it...).
After a swap, candies will fall down to replace those that disappeared and often a combo will happen. There's heaps of positive, juicy reinforcement when something big like this happens. Lots of bright animations and a voice that says things like "Nice".
The goal is simple, complete the level and move on to the next. Each level is different, providing new and interesting challenges. Some are harder than others based on the design of the level, but these are interlaced with easy ones in order provide a relief from the difficult ones.
Also, some of the levels are ridiculous, as in 'this-level-will-take-days-of-attempts-to-complete' ridiculous. And this is simply because some levels can't be complete with the set of candies provided. This is super frustrating, and it's a gamble as to when you'll complete the level, however once you do complete it, your sense achievement is incredible. This ties in to the concept of Fiero in game design (read more here:http://xeodesign.com/whyweplaygames.html). Of course you can shortcut this process using IAPs to buy super candies. These candies won't just beat the level automatically, you still have to use them correctly and this involves some skill, but they do help in fast tracking it. (On a side note I'm personally against IAPs that provide shortcuts in games for those with money as I feel it's unfair to those who don't have the money, however it is a very popular strategy for making money these days).
Finally, throw in some social competition via Facebook so you can compare progress to your friends and then you're set to rake in 500,000 euros a day apparently :)(http://www.bubblews.com/news/781701-candy-crush-generates-500000-euros-per-day)
TLDR; really easy to play, clear goals, lots of juicy feedback, a sense of challenge, ability to shortcut using IAP, social competition