For immigration purposes the distinction centers around the fact that developers 'merely' implement systems and software engineers are expected to design and implement systems. This is based on my experience with the TN status.
Even though in US a computer scientist can have "Software Engineer" as her title, it's not so easy in Canada. The word 'Engineer' has a very specific definition.
In fact if you get a Software Engineer degree from a Canadian university you'd have to a take a somewhat different set of courses than someone who get a Computer Science degree.
It's over the top bureaucratic semantics in my opinion. Any individual with a CS degree is qualified for anything labeled as Software Engineering in the US or Canada.