Every operating system requires:
Devices with 8MB flash and/or 64MB RAM will work but they will be limited regarding installing additional packages due to low flash space and/or low RAM amount. Consider this when choosing a device to buy, or when deciding to flash OpenWrt on your device.
RAM for stable operation:
Flash to accommodate the firmware:
Users that do not want to build their own images with features removed to reduce file size should consider 16/64 as a minimum for any device, with at least 128 MB of RAM being preferred. Users should expect that devices with less than 16 MB of flash and/or 64 MB of RAM may be unstable in basic operation and should expect that support for the device may be dropped in future.
Space is needed for the bootloader (u-boot, etc.), bootloader settings, wifi firmware/calibration, OEM settings (for ability to revert to OEM firmware), and for the jffs2/ubifs overlay (configuration and storage). Thus the available space will be less than your total flash.
The Linux kernel has grown over the years with new features, bug fixes, security improvements, etc. Also OpenWrt has enabled SSL/HTTPS by default for added security which uses SSL libraries. Core packages such as LuCI have grown to include new features, and drivers have gotten larger (wifi, eth, etc.).
Care is taken by the OpenWrt developers not to add bloat without good reason. Nevertheless by this trend, OpenWrt like most software projects, will continue to grow.
As example, the sysupgrade image sizes of WNDR3700v1, an ar71xx/ath79 device, that has been supported by Openwrt for over 12 years:
Firmware Size main/master: 6720 KB (snapshot without LuCI) 25.12.0-rc1: 6912 kB 24.10.5: 6528 kB 23.05.6: 6016 kB 22.03.7: 6017 KB 21.02.7: 5313 KB 19.07.9: 4097 KB 18.06.8: 3712 KB 17.01.7: 3584 KB 15.05.1: 3584 KB 14.07: 3328 KB 12.09: 2816 KB
More discussion can be found in 4/32 warning.