TCP vs UDP: Key Differences and Use Cases