Normally, Tiger's weather widget only updates when the widget screen is active. This is a rather poor implementation that causes a bit of frustration for people who casually just peek at the weather, but appears to have been intentional.
A minor modification to the widget's underlying Javascript (commenting out four lines of code) will enable the widget to update when the widget display is not active (e.g. in the background). Control-click on the Weather widget in /Library/Widgets and choose Show Package Contents. In the new window that opens, open Weather.js in your favorite text editor. There are two areas to change: the onshow and onhide functions. To find this area, search for function onshow (); the two functions are right next to each other.
In the onshow function, comment out these two lines, as shown:
//if (timer != null)
// clearInterval(timer);
Just below that, in the onhide function, comment out these two lines, again as shown:
//clearInterval(timer);
//timer = null;
Save the file, quit the editor, open the widget and hit Command-R, and you should have a constantly-updated widget.
Mac OS X Hints
http://hints.macworld.com/article.php?story=20050506003729373