While a colleague can be used to describe someone you work with, it can also be used to describe someone within the same profession or organization. Scientists, politicians, doctors etc. will usually refer to others in the same profession as colleagues regardless of whether they have ever worked with them.
A co-worker is someone with whom you work. The hierarchical level they work at is usually the same. For example, a boss rarely refers to a subordinate as a co-worker and vice versa.
I find that people like to use the term colleague instead of co-worker to make their job seem more important than it is or as an indication of their position in a company. The word colleague seems to convey a more "professional" connotation, and thus this is more common among management or administrative areas of a business and less common in the production, logistics and operation areas.