RODATA is Read Only data. Just stuff that goes into ROM that isn't code, e.g. a const array goes here.
DATA is read/write data. C variables go here. There's also additionally an initialization block in ROM that gets copied into DATA's RAM location at startup to fill them with their initial values.
HEAP is used for malloc/free, you probably don't need this.
STARTUP is used to contain the code that gets run immediately after power/reset.
I forget what ONCE, LOWCODE, and INIT are used for. To be honest a lot of these aren't super useful and can probably be omitted unless you want to use very specific features of cc65's included C libraries.
For my most recent NES C project
, my CFG used only the essentials: dgolf.cfg
This was combined with a simplified version of cc65's C runtime startup, which basically just initializes DATA: dgolf.s:cc65_init
If we're not talking about C and you're just making an assembly program there's even less that's really required, and all the names are arbitrary. You can call segments whatever you want.