What are the differences and correct use cases?