Note that the website that is reached through a domain name might not be hosted directly at the root of the IP address, i.e.
example.org could map to
18.104.22.168/~example. This is common for normal web hosts since they can't allocate an IP address per website – that would be incredibly wasteful.
For instance, if you do a DNS lookup of
webmasters.stackexchange.com, you'll get the IP address
22.214.171.124 (on the right-hand side on the website I linked to). While the IP address does go to a StackExchange page, it doesn't lead to the webmasters section, which might be at something like
One con of using an IP address (or something like
126.96.36.199/~example) is the need for a static IP address. If, for some reason, the IP address should have to change, you have no way of redirecting users. Whereas with a domain name, it's simply a matter of updating DNS records to point to the new IP address.
While not completely related, another obvious con of IP addresses is that they're a lot harder to remember than a name and an ending.
By default, a website will be available through the domain name, as well as by IP address. Different answers/comments to this question offer different perspectives, and I don't want to copy off of that.
Personally, I wouldn't block access by IP address, simply because that's not how one would expect the internet to work. Additionally, a regular user will never randomly find the IP address of your website, and he definitely won't start sharing links to your site with the IP address. So any efforts for SEO optimization and security are surely better spent elsewhere.