I have been able to observe some this from the inside. A US payroll program entering Canada may have to cope with a factor of 10 to 100 more complications. These are all the little rules for overtime, acting positions, maternity, etc. The US doesn't have any of this.
If you are lucky, you just enter more rules. But this doesn't scale well if you going through the whole list for every transaction. You would need a binary search or major optimisation. But this has to be designed into the program from the beginning.
So, coming to Canada may drop the program over a cliff. Once it takes more than a few milliseconds to respond, the program is SOL. Add to this, the insistence that all programs in Canada have to run on MS, and it's a bitch.