In two dimensions, there are 17 types of patterns (wallpapers) that repeat in two directions, classified by their groups of symmetries. David Joyce gives examples of the 17 types, with good explanations of how they differ.
Anne Burns offers a Java applet to help you generate your own patterns, as if for a Persian Rug.
For another Java applet to generate patterns, and to watch wallpapers in motion, see Vibrating Wallpaper, by Frank Farris, in the totally electronic journal Communications in Visual Mathematics. This also includes information about negating symmetries, as shown in the picture.
The work of Dutch artist M. C. Escher incorporates just about every idea related to plane symmetry.
One type of non-periodic pattern is a Penrose Tiling. A Java applet that lets you play with Penrose Tiles was written by Shuxiang Zeng. For a major mind-bender, you can learn about how Penrose Tilings can be shadows of 5-dimensional objects, using Quasitiler.
A collection of programs to help you experiment with tilings can be found at The Geometry Center at the University of Minnesota. Jim Millar has a nice collection of fractal tiles, constructed using one of them. Many beautiful images of fractal patterns with wallpaper symmetry are offered by Michael Field.
Origami provides a hands-on way to construct patterns. Helena Verrill gives instructions for making origami quilts and many more mathematical objects. Key Curriculum Press offers some books about mathematics and quilt-making. Another site for quiltmakers is the MathQuilt site.
Symmetry is basic to the study of crystals. You can see moving models of each of the 230 types of crystals. Whereas in the plane there are 17 different symmetry types, in space there are 230! David Barthelmy has a site where you can see them all.