This is a "bug", but I'm not sure if it's something we'll be able to fix perfectly. To understand what causes it, you have to understand that we are performing a real, not-predetermined physics simulation in your browser when you roll 3D Dice. So that means we don't know the outcome ahead of time. So what's happening is, when the dice bounce around, we're constantly doing a check to see which dice face is pointing "up". This works really well 95% of the time. However, on occasion, the dice will do something crazy, like hit a wall weird, or they'll act like they've stopped rolling (based on their velocity) but then roll anyway, that sort of thing.
Usually when this happens the "reader" thinks the dice has stopped rolling and then it ends up moving ever so slightly and the "top" dice face changes.
We can keep tweaking the "reader" part to make it more accurate, but at the end of the day since we don't pre-generate the result, we can't 100% guarantee we're reading the dice correctly. But at the end of the day, you're still getting a random result, it's just maybe not exactly what's showing on the 3D Dice.
So, we'll keep tweaking the reading part of things to make it more accurate, is I guess the short answer :-)