How old are your floors? Were they prefinished when they were put in, or were they originally sanded & finished when they were put in? If they were not prefinished floors, you can screen & recoat them.
By screening & recoating, you'll go to the local rental yard & rent a vibrating sander or buffer with a 120-150 grit sand screen. All you're doing is abrading the existing finish so the next coat can get a bite. After screening, vaccum the floor & use a rag dampened with paint thinner to tack up any remaining dust. I like to tack twice before varnishing. A couple coats of oil based polyurethane after the screening will bring your floors back to life. This is a relatively inexpensive, long term fix to your problem. If you don't have factory prefinished floors.
One other thing, before you get real involved in what I described, you will want to check for wax. Many old floors were maintained with wax. If your floor was maintained this way, screening won't work. To test for wax, paint a small section of the floor with varnish & allow to stand for about 5 minutes. If there is wax, the varnish will seperate, if there's not, it will remain in a pool. You can use mineral spirits to wipe back up the varnish you painted on the floor.