It depends on what protection you want. Oil-based sealers penetrate deep into the concrete and so protect from within. They do an excellent job of repelling rainwater and UV, thanks to the grease or petroleum-based formula.
Water-based sealers are excellent at forming a protective top layer that stops moisture and UV from getting through; however, that top layer chips, scuffs, and scratches to reveal gaps in your protection. For this reason, water-based sealers need more TLC and re-coating more frequently.