Every time you make a transaction, you have to pay the network fee.
The network fee is the money you pay to miners (when dealing with a POW coin like BTC or ETH) or validators (when dealing with a POS coin like TRON)
The fee depends on many factors.
In bitcoin, the transaction fee depends on transaction size (which is a function of number of inputs and outputs) and how fast you want your transaction to be confirmed.
In ethereum, the transaction fee depends on required gas and how fast you want your transaction be confirmed.
Note that the more congested the network is, the more fee you have to pay.
is transferring from trustwallet to trustwallet (internal transfer) free ?
No.
You have to pay fee for any on-chain transaction.
or any wallet that have internal (free) option?
There may be some custodial wallets (or exchanges) that don't charge you any fee when making a transaction from one account to another account.
but since you don't have full control over your fund in such wallets (or exchanges), I recommend you to not use them for holding your cryptocurrencies.
is there a difference between BTC address? some one told me that new BTC address has cheaper fee when we want to transfer BTC tho them.
You can pay lower fee if you use segwit addresses.
There are two kinds of segwit addresses.
1. Native segwit: addresses that start with bc1q
2. Nested segwit: addresses that start with 3*
Using native segwit addresses, the transaction fee can decrease up to 53%
Using nested segwit addresses, the transaction fee can decrease up to 38%
*Not all addresses that start with 3 are segwit. They may be multi-signature.