Online causes:
the most likely cause is the online character savefile size limit. The character save data includes character Attributes, inventory, Skills, Skill hot keys, control configuration, Waypoints activated, the character’s corpse (if one exists), the list of completed Quests, and the contents of the character’s Stash aka personal stash (1st stash page). The more stuff is kept in your personal stash the more likely it is that not all of it can be stored in the character savefile. Especialy crafted items are said to require a lot of space to save.
A workaround is to keep small items like amulets, rings, belts, jewels, gems, small+medium charms, runes and such in shared stash.
Another possible cause: theft by someone who guessed your Battle Net account password and keeps stealing your stuff. The solution to this is simple: make a stronger password.
Offline / Single Player cause: disk or filesystem corruption.
Check and fix or replace if needed.