Maps, Buffers, Lists, they are all just structures for storing data in memory in different ways. People might be suggesting them because these structures have built-in functions that will save and load all their data to a file automatically. I'm not going to go into great detail about each, as you can find descriptions in the manual, but the rough idea is this:
1) Maps: They act like a grocery list you can add things to. For each entry you have a "key" (the item on the grocery list) and a "value" (the number of the item). Maps can store any number of entries.
2) Buffers: These are low-level data storage that allows you store data at the byte-level. You can specify to the level of ints, floats, shorts, etc. If these terms are not familiar to you, don't use buffers.
3) Lists: These are literally just a series of values. It's like the grocery list without the "value" portion. So you could specify to store "Eggs, Bacon, Cheese" but not how much of each.
Each type has something they are good at. For example, finding a value in a map is super quick but trying to read each value in a predictable order is no good. Lists, accessing a value if you know where it is or storing things in a specific order is fantastic but finding a specific entry is not great as you have to traverse the whole list. Buffers are great for storing and mutating data at the byte level and are fast to access but you have to keep track of locations and meta-data yourself.
As for actually using the file_text_* operations, these let you actually write data into a file line-by-line. You have to do all the formatting yourself but it gives you the most flexibility. As said, with maps and things above, they have built-in file saving functions so you could use those or alternatively manually write everything with file_text_* functions.