They are different because one is a traveler, and the other is a homeless person
As nouns, the difference between vagrant and hobo is that vagrant is a person without a home or job while hobo is a homeless, usually penniless person, in some way associated with a life along the rails. As a adjective, vagrant is moving without a certain direction, wandering, erratic, or unsettled. As a verb, hobo is to be a hobo, tramp, bum, etc.