By default the frontend will automatically launch the kernel; this is just a preference setting for the default 'Local' kernel. It's on by default since at one point or another,
a user is likely going to want to start a kernel to do computations with Mathematica, and
even if not, there are many services in the frontend which require the kernel (even the Welcome screen has a dynamic ticker at the bottom which checks for news items).
You can turn off the automatic launch by unchecking the checkbox in front of 'Automatically launch on front end startup' in the Kernel Properties dialog (which is under the Evaluation -> Kernel Configuration Options...
menu).

Alternatively you can examine (and set) this option by looking at the $FrontEnd object:
Options[$FrontEnd,EvaluatorNames]
Which returns something like this (more if you have defined additional kernels):
{EvaluatorNames->{"Local"->{"AutoStartOnLaunch"->False}}}
If you're really into optimizing your frontend startup time, this might be useful:
FE`Evaluate[FEPrivate`$StartTimes]//Column
Which gives an overview of the various startup stages the frontend goes through (this particular result is with the Welcome screen turned off and the kernel not automatically launching on startup). This startup time can vary widely depending on platform, kernel autolaunch settings, welcome screen visibility, auto-opening notebooks and palettes, and whether or not you have launched the frontend since your last reboot, etc):
Initializing kernel connections...->0.234
Initializing cell styles...->0.297
Initializing fonts...->0.406
Initializing menus...->0.422
Initializing defaults notebook...->0.5
Initializing defaults clipboards...->0.734
Initializing internal preferences...->0.812
Initializing kernels...->0.874
Opening Welcome Screen...->0.89
Closing Splash Screen...->0.905
Preloading Favorites...->1.03
Handling CommandLineOptions...->1.03
Opening Files...->1.03
Do Startup Action...->1.03
Finished->1.124