We never rent anything or spend much money on birthday parties. We only start having "friend" parties when they turn 5. So that means I've had two parties, ever. They were fun, too. Before that, we've done family parties, where only family comes, or since we moved away from family, we've invited one family over for cake and ice cream (just like having friends over for dessert)
We start the week before the party, making home-made decorations out of construction paper. I have my son choose a theme. We've had construction, jungle, monkeys, Diego, dinosaurs, Dinosaur Train, Outer Space, CARS, and Legos. My kids love to make and hang their decorations. I made a cake to go along with the theme, we planned a few games adapted to the theme, and if we had any time after opening gifts, the kids went out to play in the yard. We did 2 hours, but decided that 1 1/2 was better for 5 year olds. When my oldest turned six this year, we had the kids play with Legos (that was the theme) and they played in the yard, and 2 hours was perfect.