@Zanerock, you are definitely correct in that QBO is sometime inconsistent in how the bank feed matches up transactions -- so, yes, I agree in those cases that would be a glitch in the software.
As to "add" vs "transfer" (and I'm assuming, given your usage, your taking between monies between bank accounts), IMHO, the distinction is in the time delay of the funds being transferred.
While both may be used interchangeably, I will use transfers when there is an immediate DR/CR between two accounts, or a true transfer of funds. For example, when transferring monies from checking to savings within the same bank and within the same entity/company, I'll use the transfer function. It's easier, faster and both accounts get the effect in one transaction. Note I'm saying within the same bank AND the same entity/company.
If I'm transferring money between two different banks (eg. Wells Fargo and CNB), especially if I'm writing a check, or wiring funds, I'll usually opt to use the "ADD" and check functions. For example, I may write the check today (say Jun 28), but deposit it in a few days (Jul 2) -- in any event the check date and clearing dates between the accounts have a time span/difference (besides occurring in different month periods). Some banks have "external transfers" but even these transaction have different transaction dates. In these cases, I write the check, categorize as "undeposited funds" and depositing to the other bank on the correct day. In this way both transactions are maintain their independent transaction dates.
In a similar circumstance to transferring between different banks, in one instance, I'll ALWAYS use the "Add" function because the number of days between "capturing" and "funding" can vary between 1-5 days: Credit Card Processing transactions. In this case, before I begin, I create a "Merchant" Bank account. After I run a CC, I deposit the "money - from the CC" to the Merchant bank account, because I haven't received it in my regular (sic) account and therefore can't use it (until it's been funded/deposited to my account). Once the bank feed posts the transaction funding my account (up to a few days later) I'll ADD the transaction at this time, offsetting the funded account category with the Merchant bank account. In this way I can always see what monies I've actually received, vs left to be transferred from the merchant account (in transit).
Hope that helps