The more beta users the better, but competitors may copy features before the app gets launched. What is the best approach?
In your landing you tell the problem(s) your app solves. Make them feel the pain and tell them that signing up will heal it.
So don't talk about "our app does this and that", but "do you have this problem? We have the solution"
Include ALL benefits your app offers to users.
Don't worry about competition. If you did a good job, and developed something really good and useful, they can copy as much as they want. Quality is on your side.
I agree with Mladen -- Simply make the app the best that it could ever possibly be. That way, you leave your competition no opportunity to out-develop you. Now, they can still out market or out price you. But if the app is near-perfect, you at least will have a shot at winning the game.
Arguably you should forget the pre-launch landing page at all and just ship the thing.
Beta users rarely mean much of anything if you're trying to build a real, profitable business.
That being said, your job is to literally sell people on your product. People don't buy features...they buy painkillers. Focus on the pain your product is solving and use that to convince/entice people.
Happy to hop on a call and talk through what this means and how to do this specifically for your product.