For the Army, pretty good. Enlisted ranks are high in numbers, but officer ranks have not met the same growth yet because it takes longer to train an officer.
As for you job, the better you do, the better you chances. Officers do not pick their MOS (branch actually). You submit your wish list and that is put up against needs of the Army. If you do better then others, you name moves closer to the top of the list and you have a better chance of what you want, but if your name is at the bottom of the list, you will go needs of the Army.
West Point usually gets looked at first, then ROTC, then OCS.
Degree helps some, but I saw engineer degrees put into Field Artillery because they needed more Field Artillery officers then Engineers officers.
Signal is usually kind of hard to get, not impossible though. Finance is the hardest, simply because they only commission 10-20 a year.
Another option is to go "branch detailed" which means you spend your time in a combat arms branch and then after either 2 or 4 years transfer to Signal, Intel, Finance, Logistics. This is done because a lot of branches need more captains then they need lieutenants.