What is the difference between a list and a tuple in Python, and when would you use one over the other for data processing?