If there's one generalization you can make, it's that Roth IRAs are for younger people, but that may extend up as high as 50, depending on the circumstances,
A defined-benefit Keogh would allow you to sock away a lot more, with the amount you contribute depending on your age and compensation. It makes the most sense for someone older making a significant amount of money.