Both work and both are supported. Buttons are the better default for most servers.
Buttons cannot be spam-cleared, show a proper label, and answer members privately when a role is added or removed. Reactions feel classic and work in very minimal servers, but emoji-only rows get cryptic fast and a mass reaction-clear wipes the controls.