Null has no bounds, it can be used for string, integer, date, etc. fields in a database. Empty string is just regarding a string; it's a string like 'asdfasdf' is, but is just has no length. If you have no value for a field, use null, not an empty string.
Null is the database's determination of an absense of a value logically, so to speak. You can query like: where FIELD_NAME is NULL