Why use a subdomain? Several different reasons.
- Traditionally, subdomains represented different physical machines. Your mail servers were named mail1.widgets.com and mail2.widgets.com, and they sat on the floor across from gopher.widgets.com so you could use the extra outlet for your lava lamp. That's increasingly rare now, since proxies and routers are cheap and internal network arrangements are usually shielded from the Internet by firewalls.
- Large websites may become cumbersome to navigate from the top, so certain directories might get mapped to a subdomain-- instead of www.widgets.com/products-and-services/consumer/accessories/widgetfolders/holiday/red.html you could have widgetfolders.widgets.com/holiday/red.html . Yahoo is a good example. It's faster to type, uses less bandwidth, and easier to fit on print literature. It is like having your workgroup's folder on a corporate network mapped to a drive letter (instead of //share/marketing/offices/midwest/columbus/widgetcorpteam you could just go to e:\ ).
- Since subdomains are "inside" your domain name, you don't have to pay for extra registrations for them. Instead of having to pay the fes with different vendors for widgets.ca, widgets.dk, widgets.jp, and widgets.us you could simply have canada.widgets.com, denmark.widgets.com, japan.widgets.com, and us.widgets.com all through one domain bought from a single registrar.
For most people, I think it just comes down to personal preference for one url form over another.