We define an algorithmic paradigm, the stack model, that captures many primal-dual and local-ratio algorithms for approximating covering and packing problems. The stack model is defined syntactically and without any complexity limitations and hence our approximation bounds are independent of the P vs NP question. We provide tools to bound the performance of primal dual and local ratio algorithms and supply a (log n + 1)/2 inapproximability result for set cover, a 4/3 inapproximability for min steiner tree, and a 0.913 inapproximability for interval scheduling on two machines.