Most small businesses don't think about source code until they need it. A vendor leaves, a contract lapses, or a feature request gets a quote that feels like ransom, and suddenly the question isn't 'what does the system do' but 'who owns it.'
Every project I deliver ships with the full source, a README that a competent developer can pick up cold, and a handover session where we walk the codebase together. Not because it's generous, because it's the only honest way to build software for someone.
Vendor lock-in is a tax. It compounds quietly: every year you stay, switching costs rise, and the advantage shifts further from you. Owning your source doesn't mean you'll leave; it means you could, and that optionality changes every negotiation that follows.
There's a legal dimension too. In the Philippines, as in most jurisdictions, the default under copyright law is that the creator owns the work unless a contract says otherwise. If your agreement never assigns the code to you, you may be paying for a license to use software you'll never own. I write the assignment into the contract up front, the client owns the deliverable, period.
The practical side: I keep dependencies boring and documented, avoid proprietary glue where an open standard exists, and write the handover docs as I build, not as an afterthought. If a system can't survive its creator disappearing, it wasn't finished.