- What does Flashtool do?
Your CPU is made by a chinese company called MediaTek and they have released a tool to flash stuff on devices that use their chip called SP Flashtool. So this tool does what it says. It flashes data onto your phone, and where and what data is flashed is determined by the scatter file your provide(where) and the files you open in the tool respectively(what). So if you supply a wrong scatter file, there is a good chance of bricking the phone.
- What does ADB do?
Android Debug Bridge (adb) is a versatile command line tool that lets you communicate with with your device, push files or download files from the device, execute commands on your mobile etc. More about it here.
- What does fastboot do?
'fastboot' is a special diagnostic and engineering protocol that you can boot your Android device into. While in fastboot, you can modify the file system images from a computer over a USB connection. To do this you can install fastboot on your computer.
- Do I need to root before I flash?
No. But I have read on many sites that you need to, and also heard some of my friends say that you need to. I say no because rooting and flashing are quite independent tasks.
Android is linux at it's core. In linux, if you need to do an administrative task from a normal account, you need to
su(switch user, by default to the root user). But
sudo are binaries located in
/usr/sbin, and android does not come with them. So you cannot normally get administrative previlage on your phone. Rooting simply means to install these binaries on the phone.
Flashing is something that happens before the OS, ie Android runs. So the question would be like if you need to have a program installed on your present OS to replace the OS with another one. The installation of other OS, (in your case, flashing a ROM) happens before the existing OS loads. I thing you get the idea.
If you think that I am wrong, please tell me why in the comments. You should give a credible reason.
If yes, will my new ROM still be rooted afterwards?
You will be installing the stock ROM, which does not come with the
su binary. Hence no. If it was a pre-rooted/custom ROM, it will be rooted after flashing.