It's confusing and depends on the industry. Sometimes they're used interchangeably. In some disciplines consultants literally just 'consult' and don't fill a role.
In the accounting world we have employees that we call 'contractors' but they aren't self-employed. Rather, they are employed by a specific accounting staffing agency that contracts with our firm to fill positions temporarily.
Sometimes contractors are employed by the company they are working with directly but the position isn't guaranteed to last before
Basically, like much of the English language, there isn't a hard rule. I imagine there are country, regional, and industry specific uses for the terms. There may have once been a hard distinction, but misuse of terms eventually permeates into local parlance, which gives way to a new accepted use of the term.