What is the difference between colonialism and imperialism?

I understand that Imperialism has a certain character that distinguishes it from Colonialism, that it exists to uphold the military export of finance capital. However, this doesn't really tell us about colonialism and how it arises, just how imperialism is different from it. Is colonialism exclusive to capitalist nations? Can it arise in socialist or even feudal nations?