One of my interpretations of NULL is "Operator has never been given the chance to enter data for this field, so we don't (yet) know if someone actually knows the value for this, of if the value is genuinely unknown, or if the value is easily get-able, but we haven't had a chance to do that yet (either software not asked, or we were too lazy/busy/whatever")
I agree to having a value (e.g. for a lookup-code column such as Status) for "We were given the opportunity to get & enter this data, but we don't [yet] have a known-value") and also for "We will never know this value"
If the column is NOT NULL then I think a value is also required for "Operator has not yet been given the opportunity to provide a value". That, itself, must obviously not be allowed as a choice from a user - e.g. on a data entry form.
In the context of the O/P I would much prefer to have a numeric value for the status, than a text-string (which I cannot, for example, sort into "logical order" - e.g. in terms of the progression of an order from "New order" to "Shipped and Invoiced"). Of course I can do that by JOINING to a Status Definition Table, which has a SortSequence column,. but we assign codes such as 10, 20, 30 for these type of status codes, leaving gaps for future status additions, so that, without having to make a JOIN, we can do Logical Sort Ordering.
We can also do
STATUS < 90 where 90+ is Closed, Cancelled, whatever, or
STATUS BETWEEN 20 AND 50 if, for example, they represented "in production"