It is very easy to develop Spring Based applications with Java or Groovy.
It reduces lots of development time and increases productivity.
It avoids writing lots of boilerplate Code, Annotations and XML Configuration.
It is very easy to integrate Spring Boot Application with its Spring Ecosystem like Spring JDBC, Spring ORM, Spring Data, and Spring Security etc.
It follows “Opinionated Defaults Configuration” Approach to reduce Developer effort.
It provides Embedded HTTP servers like Tomcat, Jetty etc. to develop and test our web applications very easily.
It provides CLI (Command Line Interface) tool to develop and test Spring Boot (Java or Groovy) Applications from command prompt very easily and quickly.
It provides lots of plugins to develop and test Spring Boot Applications very easily using Build Tools like Maven and Gradle.
It provides lots of plugins to work with embedded and in-memory Databases very easily.
Spring boot = Spring Framework + Tomcat and Jetty – (minus) XML configuration OR @Configuration annotation.
The main goal of Spring Boot Framework is to reduce Development, Unit Test and Integration Test time and to ease the development of Production ready web applications very easily compared to existing Spring Framework, which really takes more time.
To avoid XML Configuration completely
To avoid defining more Annotation Configuration(It combined some existing Spring Framework Annotations to a simple and single Annotation)
To avoid writing lots of import statements
To provide some defaults to quick start new projects within no time
To provide Opinionated Development approach
By providing or avoiding these things, Spring Boot Framework reduces Development time, Developer Effort and increases productivity.
To list out limitations of Spring Boot I can only see is migrating existing spring application to Spring boot is complex process.