Firstly, In terms of pins, the D1 Mini and NodeMCU V3 development boards are quite similar. They both break out all ESP8266 ESP-12E/F pins. The NodeMCU V3 board has additional 3V3 and GND pins. Hence, it is more suitable for various connections to devices with an additional button for the flash.
Furthermore, you can flash either board with NodeMCU firmware, Arduino firmware, and even now MicroPython firmware. NodeMCU firmware is written in Lua, Arduino firmware in Processing, which is similar to C and MicroPython is a microcontroller optimised version of Python.