A custom PCB is the correct "final version" for many projects.
I use Eagle for board design (free for non-commercial use with limits, and a hobby version isn't that expensive. Commercial versions get pricey though). Some people prefer KiCad (which is free), though I found the interface to be less pleasant.
Either way, you can expect a serious learning curve (like with any CAD software) - it can get very frustrating when you're first learning it.
Price for fab services - some places charge by the square inch, others have a fixed price for certain ranges of board size. A lot of people like OSHPark (USA), but they're a little pricey compared to the chinese board houses like DirtyPCBs (among other). OSH is $5/sqin for 3 copies of a 2-layer board. DirtyPCBs is $14 for approx 10 copies 2"x2", $25 for same 4"x4" - but you need to put in an extra $20 or so for shipping if you want it fast. Other cheapo chinese board houses are in the same ballpark. If you pay for DHL, they're almost as fast as OSH; if you don't, of course, they're very slow. Those are the ones I've done business with.
Desoldering components is unpleasant and has a high rate of damaging the part in question, even for parts that are easy to remove. Some SMD packages aren't practical to remove without a hot-air rework station, and other parts are difficult to remove intact. You should not rely on desoldering components to reuse them except in unusual circumstances - it's time consuming to get the parts off, and then you're using parts that have been used and been through additional stresses. If a part turns out to have failed during this time, you could waste even more time debugging to find out what recycled part was bad. So yeah - IMO it's hard to justify reusing parts instead of just buying new. Most parts you'll be using are really cheap, typically.
I've used pulls in my projects - but usually it's because the part is expensive, hard to get, or I need to fix something now and don't have the part in stock except as a pull