I had a recent memory issue where the resolution was to change the Tools > Partition setting. However this setting wasn't available in the Arduino IDE for the boards I was using (Huzzah32 and NodeMCU-32s). I changed the board setting to ESP32-Dev Module, and the addition menu items under Tools appeared. My project compiles and works fine now.
However it never occurred to me to set the Board to the "wrong" type. What's the purpose of a vendor specific board setting when the more generic one appears to work fine? What settings should you use and under what circumstance?
My guess is that the vendor specific board settings are more about the peripheral hardware on the boards (USB ports, LEDs, etc) and that the more of those you are using the more likely you'll need to use a board specific setting. In my case, since my project uses just the WiFi and Bluetooth built into the ESP32 chip itself, that I'm ok, but if I was using a bunch of GPIO and other things I'd need to use the actual Huzzah32. Is that right?