If a server already contains a bundle that failed to start any further bundle deployment will fail.
The deployment plugin should take inventory of any failed bundles and them disregard them when checking for failed bundle deployments.
the problem is that from the JSON status provided by the web console it's not easy to decide whether a bundle just takes a long time to start/stop, or if it failed and will never come up.
that's why the content package maven plugin waits and checks again an again until all bundles are started.
but if a bundle cannot start at all after some time (depending on configuration, by default ~5min) the deployment should continue. so it does not really "fail" - or what was your observation?
it's true, still the default timeout (6 mintes) is for local dev environment a bit long and inpatient people like me would think it never gets through.
tip: if a bundle does not start due to a missing dependency and you just want to install this very dependency, you can reduce the timeout using -DbundleStatusWaitLimit=10 (here 10 seconds) or you can even disable the bundle status check by -DbundleStatusURL=-
see also http://wcm.io/tooling/maven/plugins/wcmio-content-package-maven-plugin/install-mojo.html#bundleStatusURL
here again the params (now with correct formatting)