Internalizing interaction is better when you want users to make a thoughtful, creative contribution to your community (or use tools which will, basically coding, CAD'ing, crafting; i.e. Threadless, Newgrounds, Etsy).
Externalizing interaction is better when you want to provide a mental framework to drive behavior (e.g. most viral hooks or premium upsells; i.e. Farmville, Facebook, App Store).
Externalizing interaction is better when you want to provide a mental framework to drive behavior (e.g. most viral hooks or premium upsells; i.e. Farmville, Facebook, App Store).