We study a family of subcodes of the $m$-dimensional product code $\mathscr{C}^{\otimes m}$ ('subproduct codes') that have a recursive Plotkin-like structure, and which include Reed-Muller (RM) codes and Dual Berman codes as special cases. We denote the codes in this family as $\mathscr{C}^{\otimes [r,m]}$, where $r \in \{0,1,\dots,m\}$ is the `order' of the code. These codes allow a 'projection' operation that can be exploited in iterative decoding, viz., the sum of two carefully chosen subvectors of any codeword in $\mathscr{C}^{\otimes [r,m]}$ belongs to $\mathscr{C}^{\otimes [r-1,m-1]}$. Recursive subproduct codes provide a wider range of rates and block lengths compared to RM codes while possessing several of their structural properties, such as the Plotkin-like design, the projection property, and fast ML decoding of first-order codes. Our simulation results for first-order and second-order codes, that are based on a belief propagation decoder and a local graph search algorithm, show instances of subproduct codes that perform either better than or within $0.5$~dB of comparable RM codes and CRC-aided Polar codes.