I think that they are useful and should be used when they are convenient.

I use then with Validation and also when I have to work with a specific range that may be made up of a lot of non-contiguous cells.

For example if I want to clear a range of cells like A1, B5, C7, D3, etc. I would likely just make a Named Range, so that I could refer to that in my code.

Also if I use the same range in multiple lines of code or in multiple Subs I use a Named Range so that if I need to change the range I would only need to do it once.