The NDP didn't win Alberta. The Conservatives imploded and lost. The Province is still strongly a Conservative majority... but because of how our election process works, when you divide the Conservative vote between 3 parties, instead winning 55 to 40, you lose 28 to 40.
Harper lost because he was in power for long enough to become the villain, which is common for Canadian Prime Ministers. You don't retire as Prime Minister, you hang around long enough until everything becomes your fault.
I also get the impression that Ontario is growing tired of the "Social Justice" experiment that has been running their province for last 4 years.
The real deal in Canada is, you don't vote for the Leader of the Country (or Province), you vote for the Party and who ever is leader of the party gets to run the show as Prime Minister... so even though Trudeau is a buffoon, Liberal Canadian's will still vote Liberal because that's their party, regardless of the pretty-boy face on the parties social media profile.