Substantial progress has been made in developing more realistic option pricing models. Empirically, however, it is not known whether and by how much each generalization improves option pricing and hedging. We fill this gap by first deriving an option model that allows volatility, interest rates and jumps to be stochastic. Using S&P 500 options, we examine several alternative models from three perspectives: (1) internal consistency of implied parameters/volatility with relevant time-series data, (2) out-of-sample pricing, and (3) hedging. Overall, incorporating stochastic volatility and jumps is important for pricing and internal consistency. But for hedging, modeling stochastic volatility alone yields the best performance.