What reasons are there for applications in Ubuntu not being the most up-to-date, and why are some applications not available, in its repositories?
Updates for final versions of Ubuntu only happen in line with the Stable Release Update Policy - that is to say, things will only be upgraded if there is an overwhelming benefit from doing so (like a security issue).
This is done to protect the majority of users from instability that new versions can bring. If you want a "rolling release" another distribution like Arch or Gentoo might be a better fit, otherwise there are unofficial PPAs for certain packages (at your own risk).
Updates for the version of Ubuntu in development are more fluid but still depend on three things:
Stability - If the new version is known to be unstable, it's less likely to find it's way into the repositories in time.
Testing - If there isn't enough people to test to new version, it's less likely to be added.
Packaging - If the maintainer is busy with other packages, it's much less likely to be packaged. For instance inkscape 0.47 missed the Maverick deadline and so wasn't added to Ubuntu until the Natty release.
There has been a lot of talk about how to solve this issue and allow projects to release in Ubuntu new versions for older releases, especially Long Term Support releases.
See this advice for scheduling: https://wiki.ubuntu.com/SponsorshipProcess#Consult%20the%20Release%20Schedule
Like Martin said, the specific releases of an application is packaged with the release of Ubuntu. Which means version such and such of application1 is packaged into Ubuntu 10.04 and then that's the version available as long as you use the Ubuntu 10.04 repositories. You can add the applications repositories yourself if you'd like that app to stay up to date though. I don't believe newer versions of applications are added to the repositories unless it's part of or is a security update. This is my understanding of the situation anyway.