The low-level API is harder. Opening sockets, sending messages, etc. Nothing complicated, but using it efficiently and reliably is more work (sending packets, ensuring relevant ones are ordered, choosing between TCP or UDP, deal with packet loss and duplication...).
A few people made online games with this, because it's how any online features ends up anyway, but having the next high-level API on top of that will be easier to use (if it fits your needs).