What are common approaches to API authentication and authorization, and which do you prefer?

When securing an API, I know that OAuth 2.0, JWT, and API keys are popular methods for authentication and authorization. Which approach do you prefer for different types of projects, and why? I’m also curious about how you balance security with ease of use for users and developers when implementing these methods.