It really could have been anything though. King left so much up in the air that interpretation can run the gamut of why's and how's.
Roland might've gotten the horn because he had tuna fish and Pepsi instead of a cheesesteak and a Mr. Pib.
Maybe it was because of all the women he slept with through the story.
It could've been anything.