What is the difference between vectorization and using .apply() in Pandas, and why does it matter for performance?