Lots of reasons favor Composer.
It actually manages dependencies of a whole project and vendor libraries themselves. So if you require a package it will get all required stuff or notify you about errors.
Managing versions is also trivial, as for every package you download you can specify version it should be updating to (so you can decide to only update minor releases of a package or go full-out with dev-master)
Composer provides some help with autoloading too. Making your project a little bit faster when run with -o
Having development only packages also allows you to manage production settings easier.
I find literally no reason for using submodules if vendor provides composer functionality.