Cron set in Drupal UI or by server? Under /admin/config/system/cron I can choose how often the cron runs. However do I still need to set up my server to ping the cron key (that I see in my reports page after I manually run the cron)? 

How do these 2 work together? Is the server still required to run the cron, but then the cron wont run more often than is specified in Drupal's UI here: /admin/config/system/cron ?
Drupal has a built in "poor man's cron" which is invoked on a schedule when regular users visit pages.

Setting up a proper crontab entry (and turning off poor man's cron, i.e. set it to "Never") is usually the best thing to do.

If you set both, the poor man's (in-built) cron and also add a crontab entry to ping the cron URL, then yes the cron will run twice.