As I can see from living in Canada and travelling the world there can be several reasons: - corruption, especially in QC - over-the-top safety requirements, regardless of project size. E.g. in Toronto every road work sight has a police officer present who’s just standing there bored out of their mind. In Montreal it’d be two persons on each side holding a flag - a job in Europe replaced by a temporary semaphore. - la…
If you think corruption is bad in Quebec, look at BC. One of the first things our current government did was to pass a law requiring that all government-funded construction must be performed by workers belonging to unions which donated to the governing party's last election campaign. A short time later, they changed the procurement rules from "lowest cost bid" to "best bid", with the rules for determining "best" explicitly including how many jobs would be created for members of the aforementioned donor unions.