Let's say that prior to mobile explosion you've had a popular site. It is very probable that there was only "the site". So you've had one rendering engine - the web view - one way to retrieve and save data to the database. Along came mobile with the need for native apps - iOS & Android - as well as the old page's younger brother - the mobile website.
OMG I have a platform!
Suddenly the need for a decent API emerged. An API that can consistently service all the places where your users want to create the content and probably more places which you need to fuel with your data. You need to handle all the interested parties, while making sure all the channels are being served in a consistent manner: getting the same results, the same content and not loosing a bit of precious user-contributed data.
All of this enforces the adoption of good architectural practices, like say, RESTful WebServices to support communication with external and internal systems. Good coding practices become a must - things like code encapsulation, business logic reuse, separation of layers and division responsibilities. Going further you'll need your devs to create meaningful methods and data structures, not mentioning documentation and testing.