pwgen uses /dev/urandom when available. On systems that heavily use entropy, such as those with a lot of daemons providing encrypted services, the entropy is exhausted and pwgen silently falls back to using standard pseudo generated numbers. While it may be suitable for most uses, it would be nice to have an option such as --slow that will force the use of /dev/random rather than /dev/urandom.
It looks likes what I intended to report as a wish for a --slow option got some attention recently. See bug #726578. I'm attaching the little script I wrote in order to understand how slow a switch to /dev/random would make pwgen. It has a trigger displaying available entropy when things are too long. It might help other. Try "pwgen2 16 16" a few times in a row.