It enables component scanning, that is, looking for Spring components and configuration classes in the package of the application class and all its sub-packages.
The application class itself becomes a configuration class.
It enables autoconfiguration, where Spring Boot looks for JAR files in the classpath that it can configure automatically. For example, if you have Tomcat in the classpath, Spring Boot will automatically configure Tomcat as an embedded web server.