cron itself is a daemon that scans the crontabs. The crontab entries have scheduling information and a unix command line for each entry (one entry per line in the crontab). When the schedule indicates that the job should run, cron sets up the owner's environment and executes the associated command. Any output from the command is piped to mail and emailed to the crontab owner.
For cronjobs run as root processes on RedHat and Fedora (maybe other Linuxes), there are also a set of directories in /etc, such as /etc/cron.daily. If you drop an executable script (or link to a script) into one of these directories, it will be executed by the system daily (or weekly, or hourly, etc.)
crontab -e uses the editor that's defined in your EDITOR environment variable and that's almost invariably vi, unless you override it to use some other text editor.
Customer surveys are for companies who didn't pay proper attention to begin with.