I have done both, and I think buying is better. Comparing the two: leasing you are limited on mileage, you will get to drive a new car for less money a month, but in the end you have to turn the car in (or lease another ). Many leases you have to put down a couple thousand dollars to get a low payment. And all the money you spend leasing, you could have used to buy. Buying - this is your car and you can sell it at anytime. Your bill may be a little higher, but in the long run you own the car at your final loan payment. Buying you have no mileage limitation - you can drive as much and as far without the worry that you are going over your miles. Leasing - you have to pay additional money for going over the mileage you signed for - usually 12,000 miles a year on a lease.
Lastly, if you drive less than 1,000 miles a month and like having the latest vehicle all the time, making payments every month, leasing is for you.