Normally I use C-h m (M-x describe-mode) for this task.
The opened *Help* buffer lists currently used modes, and then short information on each of the modes, starting with the major one and usually providing a list of available key bindings.
Additionally, in some major modes, ? and/or C-h output the most - expectedly - useful key bindings.
Also, there's a very useful M-x describe-keymap command, available since Emacs 28.1 (current development snapshot 28.0.50). I often use it when I'd like to explore a particular keymap without going to the source (so not only the currently active major-mode's bindings). For example, M-x describe-keymap <RET> dired-mode-map.
P.S. You might also find it helpful to take a look at C-h ? for the list of the most useful help bindings.
C-h m is currently listed as the first one (in my setup).