Disclaimer: I dislike Bryant and genuinely think he is significantly overrated.
But,
This does bring up some of the peculiarities of the NBA salary system. He is overpaid now, and "crippling" his team, sure, but he's been a max player for years, and those max salaries have really crippled his earning relative to his value.
If he retires after the 2015-16 season, I have him as earning 16.4 million dollars per year. And this is a guy who, after his rookie season, was an all-star in year 2 and 3rd team all-nba in year 3, and he was still 1st team all-nba in '12-'13 (season 17). So, if someone asked you: "Do you want an SG who will be on some sort of all-star or all-nba team for 16 seasons, but you have to pay him 16.4 million every year, but for 20 years," would you take that? I probably would. Shoot, if you had 3 of those guys that would be 3 all-nba guys for 48 million per year for 16 years (but paid for 20); you'd still have some capspace! It's not all his fault that he was vastly vastly underpaid at first and now overpaid; league rules prevented him from getting fair value early in his career.
To add on, I've reversed my initial knee-jerk view about this last contract ("this deal is insane") and think it's actually a good long-run move for the Lakers.
Their whole model involves attracting top-5 guys via trade or free agency, and they've been pretty successful at it. Showing that they take care of those guys, even when they're jerks at the end of their careers, might help them land another franchise guy 3 years from now.
In a weird way, it's possible that signing Bryant to a "bad deal" is good brand-building for the franchise.