The problem SRV records solve
Without one, a domain resolves to an IP and Minecraft assumes port 25565. If your server runs elsewhere — a different host, or a non-standard port — players must type address:port, which is easy to get wrong and awkward to share.
An SRV record separates the name players type from the endpoint the client connects to.
How the client uses it
Before resolving an address normally, Minecraft queries for a service record at _minecraft._tcp.example.com. The answer carries priority, weight, target host, and port.
If that record exists, the client connects to the target and port it specifies. If it does not, the client falls back to a plain address lookup.
When you do not need one
If you are happy using a managed address, or your server listens on the default port of a host your domain already points at, an SRV record adds nothing.
The main uses are vanity domains, moving to a new host without changing what players type, and hiding an awkward port behind a tidy name.
Setup notes if you make one
The record must be created at your DNS provider for the exact service name the client queries — a typo in _minecraft._tcp means the client never finds it and silently falls back.
Do not point an SRV record and an A record at conflicting places. Decide which one is authoritative, or you will get behaviour that depends on the client’s lookup.
FAQ
Common questions
Can I use a SRV record without owning the domain?
No. SRV records are created in a domain’s DNS zone, so you need control of the domain or a subdomain of it. Some hosts provide this as part of a managed address.
Why is my SRV record not working?
The usual causes are an incorrect service name, a target that is a CNAME instead of an A record, or DNS caching. Verify the exact query name and give the old answer time to expire before changing anything else.