<p>In your experience, how often should Oracle database statistics be run? Our team of developers recently discovered that statistics hadn't been run our production box in over 2 1/2 months. That sounds like a long time to me, but I'm not a DBA.</p>

Whenever the data changes "significantly".
If a table goes from 1 row to 200 rows, that's a significant change.  When a table goes from 100,000 rows to 150,000 rows, that's not a terribly significant change.  When a table goes from 1000 rows all with identical values in commonly-queried column X to 1000 rows with nearly unique values in column X, that's a significant change.
Statistics store information about item counts and relative frequencies -- things that will let it "guess" at how many rows will match a given criteria.  When it guesses wrong, the optimizer can pick a
very
suboptimal query plan.