What I have found in my own process of working out the "perfect" budget, and sticking to it (which is the hard part!) is to be 100% honest about what you spend money on every month.
A lot of people start out saying "No more eating out" or "I'll only spend $150 a week on groceries" or "I only go to Starbucks once a week" And they'll stick to that for a month or six weeks and *poof* they are off the budget diet and back to their old ways.
Engrained behaviors are hard to change. My theory is, why fight it? I budget for eating out a certain amount. I budget a realistic amount for groceries. I budget for my cup of coffee from the company cafeteria each morning (and my co-workers thank me!

) I go to Target about once a month, and I can't walk out of there without spending $40 no matter what it is I have to buy, so I have a line item on my excel budget that just says "Target: $40" . One month it's dog bones the next it's laundry detergent. Yesterday it was air freshener, toilet bowl cleaner, 401 spray cleaner refill, a bag of candy, 2 greeting cards and a $20 gift cert I need to give as a present (really, that's what I bought yesterday!). But no matter what, it's around $40 to walk out the door. So in the budget it goes.
I found if I just budgeted strictly for the nessesities and left out stuff, promising I'd "stick to the budget 100%" that I'd just wind up short every month and transfer the shortage out of savings. So I added in stuff I knew I'd spend money on and just put less in to savings. Now it balances perfectly every month and the only time I transfer money out of savings is when I truely have an unanticipated expense, like paying $500 to a tree doctor to save our ailing 80 year old sycamore tree out back.
Now, my method is based on having more income than expenses, giving me room to play around a bit. For those that are paycheck-to-paycheck and have no wiggle room, this obviously won't work. But for me, this works great, I find that it's much easier to stay on budget when I'm allowed to spend money on things other than the phone bill and gas for the car.
Edited to add: Now this doesn't mean I spend money on what ever I want, whenever I want. What I'm trying to say is that I'm realistic. I don't say "We'll never eat out". I know us (DH and I) and we'll go out at least once a week, even if it's only to Applebee's. So I budget the appropriate amount. BUT whatever I budget, we do stick to!