Su.Ki.'s answer makes sense, but I would add that in my opinion "must" feels a little bit stronger. At least, "must" sounds more formal and is ordinarily used when the obligation is more serious. For instance, "I have to make a quick phone call / use the restroom / go get my notebook" all sound natural, but "must" would sound awkwardly formal, though not incorrect, in any of these examples. In another example: "I have to be home by midnight" vs. "I must be home by midnight", the requirement sounds stronger in the second sentence. But for sure, the difference is very subtle and you're okay using either most of the time.