We consider variants on the Prize Collecting Steiner Tree problem and on the primal-dual 2-approximation algorithm devised for it by Goemans and Williamson. We introduce an improved pruning rule for the algorithm that is slightly faster and provides solutions that are at least as good and typically significantly better. On a selection of real-world instances whose underlying graphs are county street maps, the improvement in the standard objective function ranges from 1.7% to 9.2%. Substantially better improvements are obtained for the complementary "net worth" objective function and for randomly generated instances. We also show that modifying the growth phase of the Goemans-Williamson algorithm to make it independent of the choice of root vertex does not significantly affect the algorithm's worst-case guarantee or behavior in practice. The resulting algorithm can be further modified so that, without an increase in running time, it becomes a 2-approximation algorithm for finding the best subtree over oil choices of root. In the second part of the paper, we consider quota and budget versions of the problem. In the first, one is looking for the tree with minimum edge cost that contains vertices whose total prize is at least a given quota; in the second one is looking for the tree with maximum prize, given that the total edge cost is within a given budget. The quota problem is a generalization of the L-MST problem, and we observe how constant-factor approximation algorithms for that problem can be extended to it. We also show how a (5 + epsilon)-approximation algorithm for the (unrooted) budget problem can be derived from Garg's 3-approximation algorithm for the k-MST. None of these algorithms are likely to be used in practice, but we show how the general approach behind them (which involves performing multiple runs of the Goemans-Williamson algorithm using an increasing sequence of prize-multipliers) can be incorporated into a practical heuristic. We also uncover some surprising properties of the cost/prize tradeoff curves generated (and used) by this approach.