Henryville hit the nail on the head. I'll just add that "holding" your breathe refers to holding it with the negative/equal pressure developed by your diaphragm muscles - you never want to do this by closing off your throat, especially when rising.
It's entirely normal and expected to rise with a full breath and sink when you exhale and a diver with ample experience and excellent bouyancy skills will automatically make his or her BC (and drysuit) bouyancy adjustments during a pause with the optimum amount of air in his or her lungs that will balance the rise and fall that results from their particular breathing pattern.
So...you can certainly extend the period where you have fully exhaled to drop a few more inches or so in a specific situation, but in general it is much easier and much more efficient to maintain your breathing cycle but just dump a very small amount of air from your BC if you find yourself rising more than you are falling. In shallow water you will also find that you need to adjust the amount of air in your BC very slightly if you change depth more than a foot or so.
My preference is to use the BC to fine tune for my average target depth and then adjust lung volume for any momentary excusions. So for example if I am crsuing a couple feet off the bottom, I want to be neutral with the exact amount of air needed to ensure I am rising and falling equally with my normal and efficient breathing pattern. Then, if I want to drop down to the bottom to check something out or pick up something, I exhale and hold it slightly longer than normal to sink the couple extra feet, then inhale to hold depth and then inhale more to rise back off the bottom and back to my target cruising depth. If the object I pick up is more than a few ounces, then obviously I am going to want to add a tiny amount of air to the BC. Further more, if I have to change depth more than a foot or two, the pauses can get uncomfortably long, requiring a quick inhale/exhale or exhale inhale, and in some cases a temporary BC bouyancy adjustment.
Another useful technique is to stay very slightly positive and then adjust your thrust angle very slightly own to keep you at a steady depth. This is very useful over a soft silt bottom where you want to stay only a few inches off the bottom and cannot afford any sink at all on exhlation. In this case, you time your kicks and use momentum to cancel out the rise when you inhale. With practice (and proper finning techniques) you will find you can hold depth an inch or two over a silty bottom and not stir any thing up at all.
Many novice divers use their thrust angle to compensate for bouyancy, but do it very badly by thrusting up at large angles to offset negative bouyancy. The constant kicking is tiring to the diver and is at best annoying to other divers as the constant movement scares fish. At worst it damages reefs or stirs up large amount of silt (which can be a safety hazard) as the diver imitates a human roto-tiller. If you use changes in thrust, use them to offset SLIGHT positive bouyancy and be sure you are doing it for a specific purpose. In general, you want to be able to stop all movement and hold your depth exactly with a more or less neutral lung volume.
In short you want to not only consider your lungs and BC or drysuit as a bouyancy system but also your trim (many divers are feet low which is very very bad) and thrust angle in the water and the effects those factors have on your system.