Writer/director M. Night Shyamalan always had Bruce Willis and Samuel L. Jackson in mind to play the roles of David Dunn and Elijah Price.
The film is shot as a series of long (very long, by Hollywood standards) tracking shots, often with stark shadows or unusual camera angles, to mimic the storyboard flow of a comic book.
At a budget of $75 million, the film cost almost three times more money to make than both the sequels (Split (2016) and Glass (2019)) combined.