1 how can running a node help you personally?/ what are the advantages of running a node?
If you are receiving transactions, then running your own node means that you don't need to trust or rely on anybody else for information about the transactions that are sent to you. If you choose not to run your own node, then you will need to use a service provided by someone else to let you know if/when you've received a transaction and the total value of that transaction. That service could lie, they could be mistaken, they could disappear.
2 if Bitcoin wallet denied a transacted because you don have the sufficient amount you which to transfer, then how does a node detect such transaction. that is, spending more Bitcoin than they own?
When you send a transaction, your wallet software spends unspent outputs that you have control over, and it creates new unspent outputs that are under the control of whomever you choose. If you don't have sufficient funds, then there won't be unspent outputs under your control to include in the list that you are spending. If you try to spend an unspent output that you don't have control over, then you won't be able to provide a valid digital signature. Any transaction that has a sum of value from unspent outputs being spent that is less than the sum of value from the new unspent outputs being created is rejected by all nodes in the network as being invalid. Any transaction that attempts to include in the list of outputs being spent an unspent output without a valid digital signature is rejected by all nodes in the network as being invalid.
3 if I make a double spending, what is the possibility that the first transaction would get confirmed first?
There will only be 1 spending. The spending that is confirmed is the 1 valid spending, the one that is not confirmed becomes an invalid spending. With this definition of "spent", it is impossible for the same bitcoins to be spent more than once.
However, I assume you are asking about transmitting two different unconfirmed transactions (A and B) that both attempt to include at least one unspent output in common in the list of outputs being spent. In that case, some nodes, solo-miners, and mining-pools can receive unconfirmed transaction A (and reject unconfirmed transaction B) while other nodes, solo-miners, and mining-pools would receive unconfirmed transaction B (and reject unconfirmed transaction A). Eventually once one of the transactions is confirmed, all nodes will accept the confirmed transaction and reject the unconfirmed transaction.
In that scenario, it's impossible to say what the "possibility" is of either transaction being confirmed. It depends on many factors. A few of those factors are:
- Which transaction paid the larger fee per vByte?
- Which transaction required more bytes?
- How much time was there between the transmission of the two transactions?
- How many blocks were solved between the transmission of the two transactions?
- How well connected were the nodes that were initially sent each transaction?
- Did either of the transactions attempt to spend unconfirmed unspent transaction outputs?
- Which mining pools received each transaction first?