Dispatchers work for an airline specifically and support the pilots in all aspects of their flight from A to B. They plan the flight with regards to routing, fuel, weight and balance, weather etc. If there are any issues with maintenance, passengers, security, ground support staff; dispatch helps pilots with that.

ATC works for a government agency (Nav Canada) and simply makes sure that aircraft are separated from each other. ATC does not work for any airline specifically. While flying, aircraft talk to different ATC controllers who make sure they are kept away from other aircraft in their vicinity. Think of them like a cop at an intersection who guides you through. You’d have to apply to Nav Canada to become ATC. It is a fairly hard process from what I hear.