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).
describe-keymapis not available in vanilla emacs-27.2? At least, not in my vanilla 27.2. – Fran Burstall Aug 28 '21 at 11:35describe-keymapwas added on 24th of Aug 2019, so it should be available inEmacs>= 26.3. See help-fns.el blame with the changes to this function during the last 2 years. – Y. E. Aug 28 '21 at 13:15describe-keymapwas added 2 years ago tohelp-fns.elon the master branch but never made it to the 27 branch: check https://github.com/emacs-mirror/emacs/blob/emacs-27/lisp/help-fns.el. – Fran Burstall Aug 29 '21 at 23:07describe-keymapwas/is introduced. I could have spotted the exact release sooner, answering your first comment (just looking at itsC-h foutput), but followed a more complex route :-). Thanks for your feedback. – Y. E. Aug 31 '21 at 13:00