As you say, the first option will result in an empty tag appearing in the page markup. Sometimes this isn’t a problem, but there may be situations where the styling of the empty element will still make it visible on the page even if there isn’t any content.
You might also have other logic within the template that depends upon the value of the custom field, in which case you’d need to go with the second option.
Thanks fretburner. So I guess it really is best to judge as I go whether it’s OK to have an empty tag or if it would be safer to use the second option.
It’s just one of those things, I’ve used the first option for such a long time, I’m really starting to examine the way I code and figuring out if what I’m doing really is the best option or not.