The world of Shakugan no Shana is a fascinating one. It is rich with lore and completely developed into something surreal yet believable. Unfortunately, there are many times in the first two seasons where we become lost in the "comedic" school lives of Yuji & co. or slice of life-esque drama, all of which are irrelevant to the plot. It distracts from the things that make the show interesting, to the point of being boring.
It doesn't help that there are entire arcs of the show that move at a snail's pace, with episodes of buildup leading to each confrontation. Rather than creating suspense, it loses it. Plus, the villains are forgettable and their motives can be far-fetched.
The entire third season is just building up to the final battle, where tons of new characters are shoved into the story, forming unnecessary sub plots that pile on top of each other until it's just a giant mess.
Shakugan no Shana does have a saving grace though, and it's in the characters. Shana, who first seems to be a typical tsundere, actually sees development through the story. By the time she has formed a true romantic relationship with Yuji, she has grown out of the needless violence and tantrums, and has become a strong, mature heroine.
Yuji is neither useless nor overpowered. He begins the story with zero skills, but endures hard work and training in order to grow stronger, rather than being given his powers on a silver platter. He has clear goals of wanting to defend himself so Shana doesn't have to, but instead of always protecting her, they become a dynamic team.
The minor characters are a bit annoying at first, but as the series progresses, they become an integral (and even enjoyable) part of the cast. Specifically the other Flame Hazes, like Margery and Wilhelmina. Some of the classmates turn out to be great characters too, like Sato. Though, Kazumi, the third point to a love triangle, remains annoying through the entire series.
Shakugan no Shana has a decent story, and two wonderful main characters, but it falls short when it comes to execution.