On some occasions, when a traveler goes through US customs, there are electronic self-serve kiosks or paper forms with detailed customs questions about what you are carrying (currency, goods, food, etc.), and there are statements warning about penalties for not answering truthfully.
On other occasions, there is none of the above, and no explanatory signs posted, and the customs officer simply asks, "Do you have anything to declare?" (this happened to me recently when traveling from a US territory to the US mainland) so it's not obvious what they are asking, or that there are penalties involved. Suppose somebody should have answered "Yes" but they answered "No" because they didn't understand the question, or they have never travelled before, or they didn't know or didn't remember all of the items that should be declared. In this case, it sounds like ignorance of the law could be a reasonable defense. Is it?
If customs wanted the question to be legally enforceable, in the absence of any accompanying written explanations, shouldn't they say something more like, "Do you have anything to declare under US customs code, section blah blah blah? Not answering truthfully can carry penalties and fines. If you don't understand the question, please ask."
Update:
For those wondering where my customs interaction occurred, it was at the STX airport in St. Croix, US Virgin Islands (a US territory). It's an international airport, but most outbound flights are to the US mainland. Technically, travelers leaving USVI are already in the US, but air travelers leaving the territory have to exit through US customs and immigration. Possibly it's because the USVI's borders are extra-porous so they are monitoring for illegal immigrants, and/or because USVI has certain restrictions and duties for goods going to/from the US mainland.
US Customs and Border Protection in STX used to hand out Customs Declaration forms, so it was easy to understand what to declare. Now they just ask verbally, either in some detail ("Are you carrying any food?") or as a broad question ("Do you have anything to declare?").