The buffer memory is used to store packets (ethernet frames) from the time they enter the switch from a source port until the packet is forwarded (transmitted) to the destination port. The primary reason there is a buffer at all is the deal with congestion (e.g., when two or more source ports are trying to reach the same destination simultaneously) and to provide some buffering for rate mismatches (such as gigabit ethernet host transmitting to a 10 megabit destination. Too much memory is not necessarily better due to TCP/IP windowing characteristics (basically TCP/IP utilizes a windowing method for adaptive rate control which is less efficient when there is significant buffering). I suspect that there is not that much difference between one switch and another (as they utilize a single chip switch with embedded, on-chip, ram for the packet buffer). 128K bytes for 8 port gigabit switch should be fine.
Store and forward is a queueing discipline where a packet is stored in a buffer memory prior to being sent to its destination (stored first in the buffer memory, then forwarded to its destination). This is done to eliminate head-of-line blocking problems and enable the switch to be more efficient. Imagine a system with no buffering, only switching: whenever you have two packets from different source ports destined for the same destination port, not only will one of those two packets have to wait until the other has been transmitted, but any packets behind the waiting packet will also have to wait even if they are destined for a different port.
I am assuming you are considering a modest port count (like 4-24) unmanaged Ethernet LAN switch. I think you will find that just about any product out there will fit you needs.
If you are more interested on how Ethernet switches work, you will find lots of info on the net.