We know why Han Solo had to pay off Jabba.
But Star Wars Episode V: The Empire Strikes Back is set three years after the destruction of the Death Star, but Han Solo hadn't paid Jabba yet. Why?
UPDATE from New Disney Canon
According to "Heir to the Jedi" book by Kevin Hearne, they "lost" the money (new canon didn't elaborate how, as of yet):
Han and Chewie are off somewhere trying to earn enough credits to pay off Jabba the Hutt. They lost all their reward money from the Battle of Yavin and they’re back to being broke and desperate — the galaxy should beware.
I don't recall exact canon quotes from EU, but basically, he threw in with the rebellion and no longer had the time to fly around doing smuggling to earn that kind of Mad Moneyz.
And felt that it'd be inappropriate to take from Leia (as far as payment for delivering Luke to Alderaan), what with him trying to get into her pants and all. Would NOT be a smooth move, even for PUA like Han :)
Jabba was a drug lord but only in a relative backwater like Tatooine. With the Imperial Navy gunning after Han and his merry band, Han probably thought it reasonable that he'd never have to deal with the likes of Jabba again. Too bad for him that Vader took a play right out of the CIA handbook.
According to Scoundrels by Timothy Zahn, he got jacked by pirates shortly after Yavin.