You can use a smart switch or a Linux box running bridging to enforce any form
of firewall controls on different parts of the same subnet. So why is there a
need for different subnets?
I can think of two reasons, especially if somebody breaks into your wifi connection:
1. When you have two networks that are part of the same network, broadcasts are sent everywhere. Things like printers, dropbox, by default can send out routine broadcasts even when you don't want/need it. For a home network this can cause privacy issues.
2. When you are attached to the same subnet, this gives you opportunity to run ARP attacks (IPv4) and other attacks on the other network. Unless you trust the smart switch to filter out all such attacks (?).