JavaScript injection is the key to achieving dynamic effects on web pages. Static methods include direct embedding in HTML or inclusion via tags; dynamic methods include createElement(), innerHTML property, Function constructor, and AJAX loading of external files.