So all the network confirms the transaction, transaction fee only makes you to the top of the queue and even if at that time the miner is offline it will receive the transaction. Is it correct?
The act of the "network" confirming the transaction is actually the act of a single miner finding a block. A "block" is really just the confirmation of the transactions contained inside. Thus, if you as a normal user include a transaction fee in your payment to Random Service A, in approximately ten minutes or less, some other
online hard-working miner will confirm that transaction in the block he/she solves. That person will receive the transaction fee that you paid, and Random Service A will receive the remainder of the balance you sent.
You are correct in that including a fee does improve your chances that your transaction will be included in the next block. This is because it is entirely up the miner itself whether or not to accept transactions that don't include a fee. At the current moment, I'd say that most miners (and pools) are willing to accept any transactions regardless of whether there's a fee or not, though already we are starting to see some very minor delays. In the future, it is expected that because the reward-per-block diminishes over time, that eventually it will be the transaction fees that will motivate miners to continue mining, rather than the actual reward.