http://oraclequirks.blogspot.com/2009/08/how-to-let-user-override-apex.html talks about a common use case that is not easy to implement in APEX i.e. a warning-type validation that brings some data condition to the user's attention upon page submit and provides the option to acknowledge and continue with page processing.
In 4.2.2, the most declarative way I could think of to achieve this was with a Dynamic Action as follows
1. DA fires when page submit button is clicked
2a. (Optional) Set Value action that queries server, using page-items if necessary
if (some condition referring to values set in 2a) apex.confirm('message','BUTTON_NAME'); else apex.submit('BUTTON_NAME');
Is this the best way to this sort of thing? Any other ideas?