Yes, that’s correct.
empty() or no expression returns empty value (similar to NULL).
"" returns a zero-length text string.
Note that in expressions the equality operator returns TRUE for the following condition:
empty() = ''
In expressions, an only in expressions, empty values are equal to zero-length text strings. If you’re not sure if a cell is an empty value or a zero-length text string, the best way to figure it out is to right-click the cell and select “Metadata” to open the Cell Profiler.
Also, cells with empty values have a slightly darker background, but it may be hard to notice on some displays.
Finally, keep in mind that an empty value is not the same as NULL in SQL. For instance, they can be used in comparison or matching:
empty() = empty() // TRUE