Use Server Components when:
- Fetching data from database or API
- Accessing backend resources directly
- Keeping sensitive information on server
- Reducing client-side JavaScript bundle
Use Client Components when:
- Using React hooks (useState, useEffect, etc.)
- Adding interactivity and event listeners
- Using browser-only APIs
- Using Context API