The information in your question is incorrect. You can't include a requirements.txt file in a Lambda function. AWS Lambda does not look at your rquirements.txt file and do anything with it. AWS Lambda will not download and install dependencies for you just because you bundled a requirements.txt file. AWS Lambda expects all dependencies to be included in your Lambda function's deployment package, or in the attached Lambda layers.
For example, is it the case that requirements.txt will cause pip install execution (slow to start) whereas a layer "has the library already there" and is therefore faster to launch? (But then again, if that's the case, and you want the most recent version, how does AWS accomplish that? it must run pip install.)
AWS Lambda doesn't actually do any of that. So that's not a concern.
Your actual choices are between attaching Lambda layers, or installing all the requirements in your requirements.txt file locally when you are building your Lambda function, and including all those dependencies in the function's deployment zip file.
I am aware of other benefits of layers (core reuse), my question is limited to the above.
Code reuse is the main benefit of layers. Often it can be difficult to include certain dependences in your Python Lambda deployment, if those dependencies include binary executables, which have to be built for AWS Linux to run on AWS Lambda. Pandas is a common Python library where you run into this issue. So building that dependency once as a Layer, and then reusing it, or even pulling in that dependency as a layer that someone else has already built for you, is a common reason to use Lambda layers.