Generally, database cascades are preferred by "old school" database users, and more recent users prefer to do all of that in business logic.. or in this case, have hibernate do it for you.
Here's the thing: I want to maintain a very loose association between A and B. Ordinarily I would not want to make this association bidirectional. A has a B, but I never want to load that B when I load an A. My ONLY reason for making A hold a reference to B is so that I can delete the B when I delete the A from the database. This is a FREQUENT occurrence.
I find that the absence of on-delete="cascade" from the <one-to-one> is a serious lack, and wish Hibernate would implement it there. Otherwise I am forced to load B just to delete it, when I have no other reason to load it.