I see where you might be confused. If you recall back to the days of the OSI model (Let me see if I can recall myself, it's been so long)
Physical
Datalink
Network
Transport
Session
Presentation
Application
Subnets, as you are referring to are more in the Network layer and determine how many hosts you can have a on an IP subnet.
Workgroup information (And I know some network guru is going to correct me on this :-) ) is attached above the network layer and starts getting into session information, or the higher-level information in a network packet.
Basically, as long as the network routing is set up correctly, you can have systems on different IP subnets, yet members of the same workgroup.
The answer to the question "Why have different Workgroups" will vary, depending on who you talk to, but it's basically for security purposes... preventing to some degree, the passing of data from one workgroup to another unless the are permissions between workgroups to do so. Again though, this refers to "Files" and services , which rest higher up in the OSI model. IP packets don't care until the workgroup information is added to them.