I honestly hope author goes more indepth in next part of the article. Most common use case that I have seen for BlockingQueues is to use them in conjunction with ExecutorService and ThreadPoolExecutor.
In that context you have to use/implement Task rejection policies if queue is full. Blocking operation Put on the queue is not used when submitting task to the service, it uses Offer method instead. It's a bit misleading.