The model of cooperation depends on your needs. If you need a dedicated team - choose to outsource. If you need a developer on your team - outstaffing suits you best.