It is to keep the layout uniformed and clean.
Also, if you intended to not display each item depending on the users profile then you'd end up with a lot of new templates and template calls to show or not show the information.
The way it works are the templates use the variables $memprofile[]. $memprofile['icq'] etc. These are pulled straight from the database. To allow easier customisation and everything the link is built in to the templates and when a user doesn't have an ICQ number the following is applied:
code:
if(!$memprofile['icq'])
{
$memprofile['icq'] = "None";
}
Why? Because its simple and allows more customisation.
"Picky, picky, picky". I don't really see how it is an issue.