I think there is an unrealistic expectation sometimes that if we have a good band we will get gigs. Not necessarily true. Part of band life is promotion...all the time. If you don't have business cards, get some and network, network, network. Get out in your live music scene. See other bands and talk to them and build relationships, meet the sound man and whoever is booking the clubs and drop them your card. Keep talking to everyone and anyone and eventually you will get some opportunities. Don't give up.
If you have a single or EP, get an EPK (electronic press kit). Send your EPK to the venues you want to play. Send your EPK to festivals, as many as you can find. Yes, even the "Ham and Yam" festival or whatever. We use the Reverbnation EPK which is free for the first x months...I can't remember and then a marginal fee to keep it going.
Make sure every band member knows it is their job to promote the band and find playing opportunities. If you are an originals band the sad fact is that you will probably have to play for little or free until you build a following. Avoid "pay-to-play" whenever you can but don't be afraid of gigs where you have to sell tickets and do promotion...it's your job to bring in the audience at the end of the day.
Build a fanlist with emails and FB likes and stay in touch with your fans. Send regular updates of what you are doing and involve the fans if you can.....we have done some contests for t-shirt and sticker design and offered swag rewards.
Booking agencies can be fine, especially if you can do a short term 6 mo to 1 year agreement with them. That way you try them out and they try you out. The sad fact again is that there are many bad booking agencies. The good ones typically have a lot of buzz and a full slate of bands. The national booking agencies like AFTON can get you some gigs, but they are not a long term solution as you get paid little and ticket prices are astronomical.....and many times you are booked with bands or artists that are totally different genres and/or horrible. But...you can get some exposure and networking so you have to weigh the pros/cons.
Finally, make sure you have a good product. Make sure you are not just going on stage to play music you like...you need to incorporate showmanship and put on a seamless enjoyable entertainment experience for the audience. If you do this, you will generate some buzz as well. When you get your chances take them and make the most of them.