About bosses, I want to say that it can be frustrating if they give you a reward that you would need before the boss fight.
example:
- The ultimate super hard boss drops the ultimate weapon. You do not need it any more because you already beat the hardest enemy with what you have. ( I talk about single player games, not MMO where you do the same boss every week to farm equipment)
- The only dragon in the game drops the dragonslayer, a sword that is good against dragons.
In those cases it would be better to do it like monkey island. The boss drops a shirt that says: "I have beaten the hardest boss in the world and all I got was this lousy shirt."
In case of the dragon, it would be better if you find the sword by a dragon cult. The cultists kill dragon hunters and hide their equipment to protect the dragon. Those cultists have their lair far away from the dragon. If a dragon hunter finds and defeats the cultists, he could use the sword against the dragon next door otherwise.

Prof. Dr. Dr. Mad S. Tist

World leading expert of artificial stupidity.
Because there are too many people who work on artificial intelligence already