They come in to do a specific job, then leave.
Since I started selling myself as a "Mobile Consultant" I made significantly more money than selling myself as a "Front-End Developer", "Freelance Developer" or such.
Seemingly it's all in the wording these days.
"contractor" is the replacement status for permanent employees. They are outside of normal payroll and company benefits, they usually do 1 to 6 months repeatable contracts.
"consultants" is the experienced people who need to be called by up-the-chain to perform important matters and take critical decisions.
I am not a freelancer because I work for a larger company.
I am not a contractor because, while that is a good chunk of what I do, I provide more than just software development. Oftentimes, I end up working with clients to actually determine what they need and how to build it. Then I help build it. Contractors typically just build it.