<blockquote> why don't we just check for read on the news/item page and
forget about news_read
</blockquote>
It is bad practice to create sub-privs such as news_read without apparent reason. The long term plan is to get rid of them (e.g. forums has a lot too). If there is a different semantic attached to it depends on the package implementation, but in most cases there is not. Most likely news_read does nothing that read couldn't do as well.