correct.. the scripts can run without a user logged in.
cron is a really easy way of doing this.... an example, I would add entries such as this to /etc/crontab
# this will run myscript as root user every day at 3:00am and send output nowhere
0 3 * * * root /path/to/myscript > /dev/null
# this will run myscript every 10 minutes as root user with output sent to myscript.log
*/10 * * * * root /path/to/myscript >> /var/log/myscript.log
Here is one of many tutorials on crontab
http://www.tutorial5.com/content/view/95/51/
that said.. launchd has it's advantages... here's a decent article
http://www.devdaily.com/mac-os-x/mac-osx-startup-crontab-launchd-jobs
But.. even with the advantages of launchd- I still prefer crontab to kick off scripts on schedule/intervals.
Jeff