A drifter is a person who drifts -- that is, someone who does not have a home, or who does not stay long in one place. In some ways it is the modern equivalent of a hobo.
Calling someone a drifter does not necessarily indicate whether or not they might be homeless, but does indicate that, if they are homeless, it may simply be because they are not in one place long enough to make it worthwhile to rent an apartment.
On the other hand, a drifter might have a place to stay in any given town, either through renting one or couch surfing, but simply choose not to stay at any one place or in any one job for long.
Giving someone the label of drifter is almost always a negative thing, although at the same time there are more negative labels that could surely be given -- layabout, homeless, slacker, bum, vagabond, or vagrant among them. There are, in fact, very few positive terms that indicate that a person is a drifter; jack of all trades may be applicable in some cases, as might itinerant worker, although these terms also come with tinges of undesirability.