As said in the comments to the original question: Why are there weird commas in my /etc/passwd file? and http://en.wikipedia.org/wiki/Gecos_field explain what these fields are.
To answer the question "why do they appear for some users and not others": this information is usually created by the tool that adds the user to the system. It does not make sense to have e.g. "Room number" for e.g. the
sshd user, and thus these fields are left out by the process creating these users.
But why then do I see e.g.
etc/passwd? This user has probably been created by a script that for convenience have used
adduser (present on many common systems) instead of the more low-level
useradd tool (I think the naming could have been better), and
adduser automatically creates the Gecos place holders. Alternatively it might have been a conscious choice at user creation just to adhere to the Gecos format for conformity, but I believe it is mostly unnecessary cruft in these cases.
Why then are the Gecos fields empty for my regular user as well? Because I simply never filled room number/etc. out when I created that user (I don't even know if I got that choice during system installation - I don't think so).
(On a sidenote: this system means that a full name of for example "Daniel Andersson, PhD" will be wrongly interpreted by most tools.)