Добавлю особый случай.
Если кнопка мала по высоте относительно высоты шрифта (близка к расстоянию между верхней точкой заглавных букв и нижней точкой букв с элементами ниже базовой линии), всегда использую line-height, так как его все равно придется использовать, чтобы не дать тексту в разных browser-ах (или при отсутствии используемого шрифта) распереть кнопку по вертикали.
Этот же метод использую, когда нужно стилизовать какое-нибудь меню на готовом сайте, которое уже сделано через ссылки, когда в HTML вмешиваться - лишнее телодвижение.