Haste is a complex stat that effectively increases the speed at which spells cast for casters, and increases the swing/shot speed of melee. It also lowers cooldowns, and for casters can bring the global cooldown down to 1 second, from 1.5, though the amount of haste rating required to do this has been calculated at 1639.5, or roughly 50% haste. Any haste that brings your spell casts lower than the global cooldown is generally considered to be a bad thing, because it "clips" the global cooldown (this is usually impossible without trinket procs and Bloodlust/Heroism). It is important to note, though, that haste does not reduce the cast time of abilities. This is a semantic issue. If you were to say that haste reduced the cast time of spell XYZ, then that would mean that 100% = instant cast spell. That is never the case. Spells that have a cast time will never become instant cast, no matter how much haste you have. Let's take a look at how cast speed is determined with haste:
Cast Speed = Base Casting Time / (1 + (% Spell Haste / 100))
Let's use this formula with an untalented rank 16 Fireball, a spell that has a 3.5 second base cast time, being cast by a Mage with 15% haste.
First, find % Spell Haste / 100. In this case, .15. Next, add 1 to this number - > 1.15. Now, divide the base casting time by 1.15 to find the new cast speed.
So, 3.5 / (1 + (15 / 100)) = 3.04
So, a 3.5 second cast with 15% haste will cast in 3.04 seconds.
The advantage of haste diminishes as you reach higher amounts, however. In the above example 15% haste reduced the cast time of that spell by .46.
Let's do the same thing, this time with 30% haste.
3.5 / (1 + (30 / 100)) = 2.69
If stacking additional haste always had an equal effect, then 30% haste would reduce the cast time by .92. However, as you can see, 30% haste only reduced the cast time by .81. In real world application, this is a negligible difference, but when you get into higher and higher haste percentages it starts to make a big difference.
An incredibly high haste percentage would be 60%, so let's do the math again with this number.
3.5 / (1 + (75 / 100)) = 2.1875 (~2.2). Again, the effect of additional haste is diminished. This represents almost a full half-second difference from the cast speed reduction of 15% haste.