Be sure you've knit the hat to fit. This is soooo important - and worth every minute you spend getting it right. This means knitting a gauge swatch before you start your hat, to be 100% sure that the combination of yarn and needles that you've chosen are creating the correct number of stitches over 4 inches. (Everyone seems to knit a bit differently, in terms of the tension on the yarn, so the needle size specified on your pattern may not be ideal for you.) Even a relatively small difference in gauge can quickly result in a hat that is much too loose or tight. (In order to fit well, a finished, unstretched hat should measure about 1 1/2" less than the circumference of the wearer's head, measured around the brow, including the ears - right where the brim of the hat will be worn.)
Here's how to get gauge: Knit a swatch that is in fact at least 6" wide (not just 4") and is employing the stitch pattern (stockinette, garter stitch, ribbing, etc.) that will be used around the brow/over the ears - where the fit really counts. If your hat is knit in the round, go ahead an cast on like you're starting the hat, and knit round and round until you've knit at least 2" of rows in your stitch pattern. Now measure the number of stitches in 4 inches (wide). If you have more stitches than you should, keep knitting your swatch (no need to tear it out and start again) using a needle that is one or two sizes larger than you first used (try a size 8 instead of a size 7). If instead your swatch had too few stitches per inch, you need to try a thinner needle (a size 7 instead of a size 8). So simply switch to a different size needle and knit another 2" of rows, and measure again (over 4"). Don't worry about purchasing another set of needles - you will use them again and again. You really can't trick your fingers into knitting more tightly or loosely to accommodate the wrong needle size, no matter how much you try! After the hours you spent knitting your hat - you want it to fit; that's what matters.