Fees
Paying using Lighting will cost fees. Node operators set the fees. The fees are the cost of using their node as a "hop" for your Payment.
If you have a node, you can change the fees of your node. This is how you can make money.
Fees are set in the Channel policy.
Commit fee / balance changing
The balance fluctuates because commit fees for channels get renegotiated as the cost to publish to the bitcoin blockchain changes. When the commit fees rise (btc fees become more expensive) some of your local balance is reserved to meet those fees, resulting in your local balance dropping. When fees drop the reverse happens.
To avoid this issue what you want to do is sum all your channel local balances with the commit fees for only the channels you have opened. There is currently no easy way to tell if you opened a channel or not but there was just a PR in lnd for example to make this easier on developers. Right now the solution I am using is to infer whether or not I opened a channel by its sent, received, and local balance.
Setting a default policy (LND)
See https://lightningwiki.net/index.php/Channel_policy#Setting_a_default_policy_.28LND.29