There are quite a few ways it could be done...
Contribute wouldn't really work. It is for editing html pages that are already created I believe.
PowerCMS won't perfectly fit the bill because it can't create pages it is just for editing content on existing pages.
Dreamweaver and the templates would certainly give that possibility but that is usually a lot to ask of the end user.
Usually you would design something with DataAssist to allow someone to create Blog-like or other data on multiple pages.