This post gives some examples with detailed explanations of advantages and shortcomings for each one.