Webpack is primarily a bundler, but in the process of bundling it ends up doing a lot of the same tasks that Gulp has been used to do, like compiling, preprocessing, and minimizing. One nice thing about Webpack is that many of those tasks are baked in; there's no need to write Gulp tasks from scratch.
Webpack has some other cool features like, chunking, which breaks out code shared by modules into a separate bundle; live refresh with webpack-dev-server where the web page will refresh automatically when a change is saved; and, for React in particular, hot module replacement, which can swap in new modules to the page without a need for a release.
The two are not mutually exclusive. I still include Gulp in many of my projects for tasks that would require writing a custom loader or plugin under Webpack.