Network Manager should have the ability to identify the network that devices are on, and run appropriate scripts based on the networks (akin to what one can do using guessnet).
Ideally, one should define a set of network tests (wireless essids, arping, ping, maybe an API for using custom "plugin" tests). If tests pass, then one can run a shell script (e.g. enable/disable printers, connect to shared drives, set preferred Thunderbird profiles, etc.), enable/disable services, etc.
A separate feature would be to have a user-friendly wizard that allows one to add common tasks like default printers.
When one configures a device, one can associate tests with those devices (e.g. wireless tests for my wireless card, tests for my work network to the wired lan and vpn).
A wizard could create some default tests, such as identifying the router or access point one is connected to for a particular device.
This may also require authoring some useful companion (command-line) tools, such as something to select the default profile/accont/identity in Thunderbird. But with the funcitonality added to NM, this would encourage develpers to create such utlities.
For laptop users, this would be a great feature. One shows to work, school or returns home, connects the computer, and has custom settings enabled, or one connects to an unfamiliar location (e.g. a network cafe) and some services are locked down for extra security (or maybe even "phones home" in case the laptop is stolen).