I'm not 100 percent sure, if my explanation is completely correct, but that's the way I understood cascading. With cascade, the operation you apply to the parent is cascaded to the childs. You do an update on the parent, so you get an cascaded update. If you want the child to be deleted, you have to delete the child explicitly or use cascade "AllDeleteOrphan" or "DeleteOrphan".
Have a look at
http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/example-parentchild.html. You'll find a pretty good example there. Especially "17.3 Cascading lifecycle".