I'm kinda new to web security.

Does certbot automatically provide an RSA key to the server and encrypt/decrypt the whole path(SSL) of the connection (From client to server and server to client) and make it HTTPS?
Do I simply not bother about security while developing a web app and simply make my app in HTTP and use certbot to make it secure?
Does SSL protect against replication attacks?
If the answer to 1 is no, please suggest a python module to encrypt the Flask app.

Thanks.
Certbot provides an SSL certificate which can be used to encrypt your connection and register you with a third party (let's encrypt). When users connect to your app, they will first verify your servers identity with let's encrypt before encrypting your connection. If you're using a server like NGINX then the easiest way to use certbot will be with the nginx certbot plugin.
HTTPS is not a security wildcard, it does provide encryption between two endpoints, preventing a host of MITM attacks but there are many threat vectors to consider. Depending on how your app works you'll still need to worry about SQL injections, malicious file uploads, remote code execution etc. HTTPS has great added security benefits absolutely, but it shouldn't replace any other security methods.
Does certbot automatically provide encyption?