I've seen a lot of questions around the difference between these roles. I'm currently a Fractional CTO, and I have previously freelanced, consulted, and worked FT, so I'll break it down for you.
Take it all with a grain of salt, because our understanding of work is shifting as a society and you can change details to suit your lifestyle. Feel free to propose arrangements to employers.
Freelance
As a freelancer, you have a particular execution skillset. You're being handed a specific set of tasks and you need to execute them. This is typically mid-level and up, project-based. Ongoing freelance is also common for companies that can't make FT hires or need to scale up and down.
Consultant
As a consultant, you're bringing specific expertise. You usually do not execute, but instead, offer guidance. The client will give you a problem, not a set of tasks, and you need to come up with a strategy for solving it. Consultants are typically senior-level and up. Engagement lengths vary, but you are typically brought in for a specific project or goal and can stay on retainer afterward.
Fractional Role
Fractional roles are a hybrid of consulting and freelancing. You have the specific expertise and seniority of a consultant, but unlike a freelancer, you do own execution. Because you do not work full-time, the projects you work on tend to be very long-term. You are treated as a full-time employee in that your position is permanent or long-term, and you often receive benefits.
Sample Projects for Technical Versions of These Roles
Let's say we need to aggregate and populate data in our app for it to be successful. You might ask a consultant to build a data acquisition strategy for you. Then, you might bring on the right fractional exec to take the strategy further and build the team and processes to allow them to execute. Lastly, you might hire freelancers to quickly scale up the team, cover missing skillset areas, and build the scrapers needed to populate data in your app.