Go big or go home. If you're going through all the trouble to pull wires through existing walls, don't pull just one. It's only slightly less work to pull two wires than to pull one. Doing the project a second time in a few years is twice as much work, though!
Think about everything you might want (IP networking, surveillance cameras, cable or satellite TV, telephone, speaker wires, home automation control signalling). Then add a bunch of extras. Cat-6 is a good choice, because it can carry most things you might want.
Consider a single conduit. During a major bathroom remodel & replumbing job, I had the plumber put conduit from the attic to the "wiring closet". He went a little nuts, putting two 4" conduits in - one for high voltage, one for low voltage. This makes it relatively easy to add a new service anywhere. Unfortunately, this was after I had finished running structured wiring.
Since a small part of your basement is unfinished, you might want to run conduit from there to your attic, and make that your "wiring closet". Then you can pull from each outlet to the attic, and easily run it down the conduit.
Star topology. Pull everything to a central location, and patch them together there. I used the space under the stairs.
How to pull up to an attic: In your attic, drill a large hole in the sill plate. It should be big enough to fit all the wires you want through it, but small enough to keep the strength of the sill plate. Avoid the wall studs below.
Cut a hole in the wall below, for the outlet.
Push a fish tape down from the attic. Have a helper watch the hole for the tape, and grab it with a bent coat hanger. They attach the wire bundle, and you pull it back up.
To push/pull from attic to basement, you can cut a hole on the floor in between, and do it in two steps. Or you can fish from both ends at the same time, using fish tapes that have hooks on the end. When they hook each other, pull the attic tape up to retrieve the basement tape. In the attic, tie on the wire bundle, then pull it down to the basement.
To pull between finished floors you need to cut a hole in the wall to drill a hole in the sill plate & fish between the floors.
See also my answer on how to pull wire to a basement or crawlspace: Running ethernet, speaker wire, coax through an old wall into the crawlspace
The more holes you cut, the easier it is to pull wires, and the more fixup work you have to do.