Difference between AI service and EQS query

What the major difference in functionality between a service in AI tree and an EQS Query. It seems you can emulate all features of an EQS using a Service.

So does any of these two provide any significant advantage over the other one?

A simple answer is a service gets your AI information whether that is what an object is or where it is etc, services run as long as their branch is executing in the BT they get information directly without having to use the BB. EQS is a environment check that looks for the best result based on the criteria you give it and returns a location on the Nav mesh. You can kind of look at it like a navigation check with custom check inputs, for example you could run a query to check if something in the environment has line of sight with the AI pawn and ask the EQS to give you a position on the Nav mesh that is the closet to that object but not in its line of sight…does that make sense?

These should also help you:

https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/NodeReference/Services/index.html
https://docs.unrealengine.com/latest/INT/Engine/AI/EnvironmentQuerySystem/index.html