Querying: Diff between historical path of a tag and regular tag path

I'm using system.tag.queryTagHistory | Ignition User Manual to query tag history. What is the difference between using a historical path of a tag and a regular tag path for this function?
An example of a historical tag path is the return result of this function system.tag.browseHistoricalTags | Ignition User Manual like histprov:historian_db:/drv:gateway_provider:/tag:tmp and a regular path [default]tmp.

Both seem to work, but sometimes there are small discrepancies in the values.

They should. When using just a tag provider name, the system function asks that tag provider to do the actual query, which then constructs the full historian path from the tag properties on the spot.

Please elaborate. (Most small discrepancies are caused interpolation side effects when using imprecise time endpoints.)

I think you're correct. I was using endDate as now which was causing a discrepancy in the last (most recent) value, especially when I used aggregationMode='LastValue'. Once I started using past times, the values are the same.

Interestingly, if I use aggregationMode='LastValue' and endDate as system.date.now(). Some values come in as 0 for the historical tag path but an actual value for the regular tag path.

Here's some test code

def pretty_print_dataset(dataset):
    .
    .
    .

endTime = system.date.now()
startTime = system.date.addMinutes(endTime, -10)
dataSet = system.tag.queryTagHistory(
    paths=[...],
    intervalMinutes=1,
    startDate=startTime,
    endDate=endTime,
    aggregationMode="LastValue",
    returnFormat='Wide',
    columnNames=['historical', 'regular'],
    noInterpolation=True,
    includeBoundingValues=False,
)

pretty_print_dataset(dataSet)

I recommend you never directly use the value from the now() expression function or the system.date.now() scripting function in your history query. Those functions return milli-second precision timestamps, and therefore shift the time period of the query away from the "natural" start and end timestamps people think they are going to get.

Timestamps should always be truncated to zero milliseconds, or zero seconds, or zero minutes, or whatever boundary makes sense for your data, before it is handed to a history query.