Sometimes ports on switches or routers do go bad and if there isn't any surge protection on those devices, it can also affect the integrity of the port that you are trying to communicate from.
I only mention that since you also mentioned the power surge instance.
Otherwise rjssigns hits it, with some programs, they can create temp files that can get so big and that affects how the main program uses resources as well. Let it go for too long, it can actually crash the program even on startup without having done any work (I have one program that has that issue with their backup files that are saved within the program directory).