The scripts are as re-usable as you want to make them. It's the skill of the Automation Engineer that counts the most. I have scripts that are used in every single test I run on a single application. QAWP is a great tool. It has most of what is needed to do the job right.
If you build your scripts in a keyword format then simple things like text writes or reads, button pushes, log-on, log-offs and anything which is common to more than one application will be re-usable. By passing variables to functions the functions are re-usable. To pass data to called scripts there are several methods, I use Repository Variables and even local Datasheets to pass data. By parameterizing the called scripts they also can be used in different applications. I have a "Share" folder which contain re-usable called scripts and functions. Many tests utilize these shared tests by mapping of the workspace scripts the shared folder.
So all in all it's a very powerful tool, but like most tools, to get the most out of it, you must know how to use it.