For the uninitiated, generally NSFW is for sexual contents and NSFL is for gory contents. People may want to see one but not see the other at any time for any reason. I have seen this feature requested over the years in Reddit but it never happens. Maybe now some instance can finally implement it?
I think it's both. Instead of trying to update the codebase with one new database attributes for each conceivable way to tag content, you simply put in facilities to abstract that - "show only posts with tag foobar", "hide all posts with tag foobar".