Flutter provide batter control over the implementation over android development with Kotlin or Java. More over flutter doesn't have its's own GUI designer like Android studio has drag and drop functionality, for some user it's might be difficult to design layout in flutter compare to android development specifically for beginner.
Flutter best know for the cross-platform development which provide single code base for multiple platform like android, iOS, Web, which is much more convenient compare to o ther cross platform framework. Dart is used as primary language for flutter although flutter also supports integration of multiple languages for utilizing the benefits like java, kotlin, python and other web API'S as well as web services. This framework build design on the concept of tree view as parent and child widgets, flutter has widgets like Container, Column, Row, Text, and many more.
Flutter is best suited for the person who wants to develop an app for all platforms as there are some difficulties to implement but that's okay.
Single code case.
Better design control.
Supports for all platform.
Doesn't have GUI designer.
Hard to implement for beginner's.