what i learn so far:
r2r ladder:
pro: only one adc needed for 4 switches (maybe up to 6, but i dont think stability is guaranteed for 8 switches)
con: need an adc capable mcu, and adc reading is not as fast as digital input, (1), cannot (2), a bit (3)
charlieplexing:
pro: n*(n-1) switches for n pins (beneficial for larger n>2), (2)
cons: need diodes and (3)
high pin count mcu:
pro: no need (1), just direct register read, hence fast. (2), less (3), more room for processing power/features for higher end mcu.
con: more expensive mcu (by just a few cents or dollars).
(1) extra programming to decode
(2) read simultaneously pressed switches correctly
(3) complexity in circuitry
my 2cnts learning.