We have the same shitty system for the exact same reasons the US has their shitty system.
1) the best way to get elected is to promise people things with their own money. This creates more and more programs the government needs to fund and therefor ever more tax dollars are needed.
2) Rich people can hire lawyers and lobby their politicians. This allows them to make favourable changes to the tax code increasing its complexity. When has the tax code ever been reduced?
3) The government abuses the tax code as well. Instead of being a tool to generate revenue to pay expenses it does all sorts of "social" work as well. want your citizens to get married, change the tax code, want your citizens to buy houses, tax code... Move to the NWT, tax code.
Every time the idea of a "flat tax" comes up those who benefit from the complexity freak out. A flat tax would remove the ever-increasing complexity and loopholes so the rich protest, the government cant abuse it so they protest, Revenue canada would be cut in 1/4 so they protest...