Also some of the data in Maws or the control.dat file shows games with say 6 buttons but they are actually lower than that such as:
G-Darius - shows 6 but actually is 3.
Brave Blade - shows 6 but is 3.
Mr. Driller - shows 6 but is 1.
Strider 2 - shows 6 but is 3.
And there are many like that. I believe the data is taken from maybe the number of connections supported by the Jamma interface but I am just guessing here so no flamin'

So 6 buttons is a good number to shoot for but I have 7 so I can have the 4 in a row for neogeo and 6 for capcom type games.
I have console emulators setup as well but sometimes you may not have enough buttons to set up the controllers with all the inputs. For example, Playstation has 8 buttons total (not including start & select). So with my 7 button layout I have the 4 input buttons + R1 +R2 and 1 left over for L1. I have an admin button set for the odd L2. So it isnt perfect but it works as most PSX games do not use the L2 that often.
Simularlly with the N64 emulator which has 9 buttons (not including start). So I have my 7 buttons set for the 2 input buttons + Z button +4 C buttons and 2 admin buttons act as the L1 and R1 buttons. Most N64 games either used Z with R1 or the games used L1 with L2 and no Z so it all works out. Again not perfect but works for me!
So figure out what type games (Mame, consoles, etc) and then determine what it is you want your cab to support and go from there.
Hope this helps!