All are stereotypes for component scanning; the main difference is intent. `@Service` marks business logic, `@Repository` marks persistence and can translate persistence exceptions, and `@Component` is generic.