We are considering a move from Rackspace to AWS for various reasons. At Rackspace, everything is made up of pretty basic components - servers, load balancers, CDN, MySQL db, etc... All of this will move and translate well to AWS and fairly easily.
Now what if this was in the reverse; what if we needed to leave AWS for Rackspace and our code was in Lambda - someone would need to take the code and convert it into something that works on a regular server + setup the server + security + scaling, etc...
Or - let's take it another step - a multi cloud setup - I'm 99% positive an AWS Lambda function won't translate well into a Google or Azure function. What if I wanted to use both services to ensure very low downtime in case of an outage (and it does happen...) ?
1 or 2 functions - ok - no big deal - but to use it for an entire site or an entire API or etc... that's to much vendor lock in for me.
Just because a company offers a feature, doesn't mean you need to use it or should use it. Weight your options; figure out how much it'll hurt if the stuff hits the fan and you need to leave and if your comfortable with that. Building / maintaining a server and all that goes with that may be a pain; but it'll be more of a pain if you need to leave those vendor lock in services and don't have the resources to rebuild them somewhere else.