If you have a static IP from your ISP, you do not need to give each machine a static IP.
However, if you wish to point your external IP to an internal machine, for use as a web server for example, then you would need to give that machine a static IP so the router knows where to send the traffic.
I have a static IP, and I have got all my machines/printers etc assigned with the same IP by the router. I have setup port forwarding so I can remote desktop into my main machine from anywhere to check email etc. I also have a router which can setup VPN's and can connect to the VPN and print out to my printer and access my files from anywhere.