First of all because running a node can be difficult

There's a few things that make developing on your own node connected to the network particularly annoying.
- It can take a lot of time to set up a node - up to weeks! The bane of any developer is spending a lot of time setting up for a tool that doesn't directly contribute to what they're trying to build, and nodes are among the worst offenders.
- Nodes have to be managed: Nodes regularly need to be upgraded every few weeks, and occasionally re-built from scratch. Individual nodes can fall behind the network for various reasons.
- If we’re speaking about a single node, it’s fine and dandy especially when you're building a personal project. But what happens when you can't make your node server large enough to keep up with the requests you're sending it?
[/list]
There are even more issues you can face with Nodes, so that’s why you need a node provider.
Node providers are essentially teams that offer access to Nodes without having to run your own node. So instead of sending your requests to a local node, you can send them over the internet to a provider offering an identical API that is running fully-synced, up-to-date nodes available 24/7.
As we like to say: keep calm and use GetBlock
https://getblock.io/