It is one of the over 250 new features of the World's Most Advanced Operating System called Resume.
When choosing Restart, Sleep or Shutdown there is a checkbox you can uncheck to prevent the apps from launching.
Also in System Preferences > General there is a hard-to-find checkbox under "Number of recent items" you can turn off.
If you want to turn it off on a per app basis, (TextEdit is by example, replace TextEdit with the name of the app)
Launch Terminal and copy/paste this at the prompt...
defaults write com.apple.TextEdit NSQuitAlwaysKeepsWindows -bool false
To turn off Resume globally...
chflags uchg ~/Library/"Saved Application State"
The reverse of the first one is to replace false with true.
The reverse of the second one is
chflags nouchg ~/Library/"Saved Application State"
It's the Resume feature of Lion:
If you shutdown your computer you should get a dialog asking if you want applications to resume on the next startup. Simply uncheck the box to prevent that from occurring. Open General preferences and uncheck the option to Restore windows when quitting and re-opening apps. You can also install a third-party utility to control resume features on individual applications: RestoreMeNot or Application State Cleaner.