I am curious as to why a company would rather hire consultants over salaried employees. Aren't consultants more expensive, since there is usually the middleman consultancy firm in between? 

And why would you opt to hire someone for just 6 months, and then have an expert(potentially) leave? 

I am curious as to the motivations behind hiring consultants. It would seem that the overhead cost for consulting is much more. thanks

So my question is generally - why would you hire consultants if the overhead costs seem so much higher?