I have the following dice holders:
(a) I keep a block of d6's together in their original plastic case. It's easier to know I have all the dice because if I'm missing one it's obvious when the block is missing a 'brick'. Playing spellcaster, and a d6 based rpg means that sometimes all I need is d6's, or I need a lot of d6's, so it's nice to have that on it's own.
(b) I have a couple of small leather bags where I keep my dice, which are precision dice, and some expensive gem dice (the bags came with those sets). They are small enough to hold a set or two of 7-piece sets. They have a drawstring that can be wrapped up to close it. Having the small bag means I can keep my dice seperated from the rest of my dice, and I have to option to bring just those dice if I don't want to lug around my big bag.
(c) I have a felt bag that came with a dice set I purchased, for a World of Darkness game. I was playing games needing lots of d10's. My friend uses it as his dice bag, keeping the exact dice he needs for his characters. It also has a draw string, which helps keep it closed while in a larger dice bag.
(d) I have a 'pound of dice' bag which has a skull pattern on it. When filled, it has the rough shape of a skull, so it looks pretty cool actually. It allows be to carry a ton of dice which is useful when I run games because there will often be people needing dice. Also, I use dice as terrain in some situations. The bag's drawstring has one of those plastic toggles, so when it's closed, I know it will stay closed. Nothing is more annoying than picking loose dice out of the car, or the bottom of the bag with my gaming books in it.
As for the useful features, in general:
You probably ant a dice bag to be about 3/4 full, to just about busting. A bag that is half full or emptier is too big for it's own good. If the dice are packed tightly, they don't rattle around so much as grind/roll against each other, which is nicer when you move around.
In that case, you want the bag to probably form to the dice, if the bag has a flat bottom, for example, it isn't going to have as much stretch and give when you put dice in it, so it's more likely to rattle instead of hold the dice together.
The quality is probably inversely proportional to the size of the bag. If you keep a lot of dice in the bag, it's likely that none of the particular dice are that significant, it's about transporting a lot of dice at once. If it's a smaller bag, it's one or two specific sets of dice, either your only sets or your favorite set. So, the bag would probably b of a similar quality. Also, it if keeps those dice in good condition, that's a plus.
Regardless, an important thing is the ability to keep the dice bag closed while also making it easy to open it up again afterwards. If it's annoying to open it up or keep it closed (like if you need to tie it shut, for example) you'll notice it since you'll be getting dice out and putting dice away every session. With a small bag, you are probably going to empty it every time you use it, while the larger bag's dice pool is less likely to be used in it's entirety every time. So, with a larger bag, making sure the opening is large enough to be able to see an assortment of dice, and remove them without dumping the entire bag on the table is useful.