I think the previous person gave a nice answer, but there seems to be another nuance, at least in some contexts. Imperialism carries the notion of one country or territory taking over another to exploit it in some way. It can be through taxation, the taking of their natural resources, cheap labor, and the list goes on. Of course, colonization can also carry these nuances, but there is the added idea of settling down. In other words, when people colonize they set roots in that place as well. A place become a colony of the mother land. This distinction can be made in the ancient world, especially among the Romans.
For the most part, the two are the same. In both, one country establishes control over another country or countries. But there are, or can be, differences in the two terms.
- Some people use the term "colonization" only to refer to cases (like with Britain and North America) where people from the "mother country" come out to live in large numbers in the colony.
- In this case, imperialism would be different because imperialism can just consist of the stronger country ruling the weaker (through the elites of the weaker country) without really sending many colonists to actually live in the weaker country. This would be more like what happened with the Belgians and the Congo, for example.
There is no clear cut difference between colonialism and imperialism. Both these terms refer to the practice of one country controlling or seeking to control another country or territory, and frequently these terms are used interchangeably. However, the term colonialism is more frequently associated with one the ruled country is situated away from the ruling country. and the ruling country exploits the ruled country economically and in other ways. Imperialism may also involve such exploitation, but not necessarily. There have been many instances of king of ancient times establishing huge empires, over which they ruled without any discrimination between the original smaller country, and the areas added later.
I do not think that settling down in the ruled countries is a feature specific to colonization. When one country exercises power over another, some people from the ruling country may move to ruled country without an explicit policy of settling people of ruling countries abroad. For example Britain never followed the policy of settling its people in India. But many people form there came to India to carry out business activities. In most of these cases such people still regarded England as their home and returned to it after retirement.
Imperialism is the theory.
Colonization is the practice.