Hannity has him on because he knows it will generate controversy and thereby viewers. Hannity thrives on controversy. He thinks it's really cool when he can have several guests all taking over each other and stirring the pot, which accomplishes nothing.
I rarely listen to Hannity for this reason.
Every time....I mean every time Hannity has two guests with opposing viewpoints on, they end up shouting at each other. That's why when I hear people demand there always be a person with an opposite viewpoint to argue with another speaker, I think of Hannity's useless guests. Nobody get convinced about anything...the listener is mightily annoyed. Even Hannity has a tendency to talk over his guests. I don't care who he has on, he should let the idiot lib guest express his opinion and then counter it. It's why I don't listen to Sean much anymore.