@NotRealNameNoSir is giving excellent advice here.
I will add one that's really made a difference to me.
Consider ALL of your possible actions every time AND consider ALL of your opponents' possible responses before you decide.
If you check, what are you going to do if villain bets? Does villain usually have it if he bets, or is villain going to bluff sometimes and we should call with our medium strength here? Maybe even low strength?
This next one is the big one and I think speaks to some of the frustration in
@vircily 's original post. If you bet, how are you going to feel if you get raised? Are you going to fold since it's not the nuts? (In which case, reconsider a check planning to call line, about the same amount of money goes in, but at least you get a showdown.) Are you planning to play for stacks because you have the nuts or close to it? Are you willing to call a raise because you hand is strong enough that it can beat hands your opponent would raise?
If you bet, can a villain call with something weaker? (What puts the "value" in "value bet.") If not, there is probably more value in checking.
These concepts apply to directly to river play, but also become considerations earlier in hands as well. The difference being these decisions early in hands additionally have to weigh the possible outcomes of the cards yet to come in addition to strength factors.
I think a lot of players, even good ones struggle in particular with betting just because they feel the hand is strong without thinking about what an opponents raise would mean. Learning this skill will make a big difference, as well as keeping consideration of all opponent responses before deciding on an action.