What are all the pros and cons of a dedicated IP rather than shared IP for my website? When would I need a dedicated IP?
In the context of web hosting, a shared IP is an IP address shared by multiple websites usually on the same shared server but could also be across different servers, whereas a dedicated IP gives your website a distinct IP from others. If you don't know whether you need a dedicated IP or not, then you most-likely don't need one.
The primary reason one uses a dedicated IP is to meet technical requirements for a specific application/technology or network setup. These days, most applications can use name-based addressing and don't require every site/server/service to have its own IP.
The most common reason you'd need to upgrade to a dedicated IP is if you need to add secure HTTP to your site due to the use of SSL. Although most modern browsers do support SNI (Server Name Indication), some current browsers still require each site/certificate to have a distinct IP associated with it due to the original design of the SSL protocol.
But if you're not using a setup/technology that requires a dedicated IP, then there's no real advantage to getting a dedicated IP. There's been speculation by some people that bad network neighborhoods can affect SEO, but there's no hard evidence of this. And even if it were true, a dedicated IP would not help since the dedicated IP would be assigned out of the same netblock as all the spammers and bad neighbors on your web host. So even if a bad network neighborhood did negatively affect SEO, the only real defense against it is to avoid shady web hosts that host lots of spam/malware sites.
For your website you would not need a dedicated IP unless you want to use SSL.
But since most web hosters put your webiste on the same IP of your mails, a dedicated IP could make a huge benefit for your outgoing mails. With a shared IP you might be sharing the same server with spammers (or people sending out too many emails), some external internet providers might put the server IP on a grey/black list, thus also your outgoing emails would be affected and they would all of a sudden start to be rejected almost all.
Web hosters usually try to prevent these situations by setting a maximum emails out per customers and by totally suspending the account if they realize a customer is spamming, but grey/balck list might take some time to be cleared. The dedicated IP would save you from such pain.
EDIT: you anyway must always ask to webhoster if the dedicated IP is used to send out emails, because they could give you a dedicated IP for SSL but use another server/IP to send mail out, in such case the dedicated IP would be obviously of no benefit for emails.
Sharing an IP via a web hosting service can have several drawbacks. Since all the hosted domains are under one IP address, it could potentially mean that if one bad apple is in the bunch with you and the other domains that share the IP address you could be blacklisted by websites and services.
This could also affect you using an Search Engine Optimizer. While I believe Google now distinguishes the difference between the IP address and domain name, other search engines may not.