If I can easely bind some computer in internal network to a port on the router by code - so its right to say that we need "port-forwording" only for cases that it easier to us then build a new software and bind it to some port?
The short answer is "NO". There is nothing common between "writing software" and port forwarding. Check here Why do we need "port forwarding"? to learn more why port forwarding is needed
The only good reason for port forwarding is to allow incoming connections to reach a server which is behind the NAT.
For instance, if you are running a normal web server, you will want to use port forwarding (programmed in the router) to allow port 80 to be forwarded into your web server's IP address.
Note that this can open security holes; if your web server gets hacked it will have access to the rest of your network unless you set up a DMZ by using two routers - one with port forwarding into your web server, then another to hide the rest of your network.