Fill menu command has a pattern feature in Photoshop, Random Fill, and can be used to create zillions of designs.
Firstly, you need a tile. Generate a new document with a transparent background or use layers and remove the background layer before defining the preset. You can use a non transparent background as a source but the result will be a square design, using transparency means the tile can be any shape.
Another issue is the size. I generally go for a fairly small background compared to the end result, so if 1000 x 1000 is required, I'll work with a 200 x 200 size. The preset can be made up of anything such as shapes, images, brushes etc
Once you have developed your tile then you can define it and save it to the presets panel via the edit menu and define command, give it a name and press OK (you can also if you wish define it as a brush as well at the same time). You will then find the result in the panel found via the window menu
You can use the entire document but you can also use the rectangular marquee tool to select part of the design or trim the size. As you can make all kinds of selections with the tools available and modify them with the feather, grow etc, all kinds of unique artwork can be devised and then manipulated especially if added to a layer as the layer can be duplicated and effects added to the selection etc
Generally, I always make a new layer to use with my design via the layer menu. Why? Because you can always apply the edit menu command multiple times and multiple layers can then be combined and deleted if they are not exactly what you want. You can also turn the result into a smart object and add adjustments and styles and effects etc
You can find the command in the edit menu and fill and the panel will pop up. Select the pattern as the content and click the script check box to ON and also select the random option and then select the preset you just generated. Click OK
Set the density to the max (unless you want it to be fairly sparse spread out design) and then set the scale (small to big such as 0.1 or 1.6 range etc).
There is a path option, more about that later.
You can also rotate the preset but if the design is dot or a circle that makes no difference but if it is a rectangular shape then the rotation has a major effect.
Set the color / brightness. If you want it to be the original color, leave those on 0 but if you want full color range then set them to 1. it works best when the original tile colors are gray scale. If you start with a blue design then the end result will be more blue, if red then it will be more red so I have always found gray scale ones are better. Press OK
Using the new layers and applying the script to a layer, you can then combine the layers as well as resize and rotate the layers. For that you may wish to reduce the density and so not all the area will be covered. You can also use layers and the blending modes and opacity as well as the size of the layer. If you have layers, you can also use transform menu and warp etc as well as convert the layers into smart objects for effects etc via the layer menu.
Or duplicate the layers and re-size or add adjustments such as hue / saturation to each of the layers and more
Another thing with the layers, it is also easy to delete them from the layers panel if you are unhappy with the result. Millions of combinations of layers can be blended and combined via the layers panel
You can apply it to the entire art board / image but you can also apply it to a selection. Make a selection using the elliptical marquee tool or rectangular marquee tool or use some of the other selection features via the select menu etc. Run the command and add it to that selection.
They can also use a work path which is super useful for creating frames, brush strokes and more. You can generate a path with the pen tool or perhaps use a shape such as a triangle via the triangle tool or a custom shape
Make a path and you can then set a max distance from path (default is 0) and when you go into the preview, you will see it displayed across the preview instead of a complete coverage of the preview. Again, the result will really depend on the actual work path used and the preview only shows a very basic curved design.
You can also move the path's points by using the direct selection tool. You can use all kinds of path shapes such as spirals, arc, scribbles etc and they can be used with the command to make all kinds of unique design. As you can reposition the points of the path, the next run of the command will position the tiles in slightly different locations and you can build up all kinds of complex designs especially if you add each run to a layer and then combine that layer with effects such as drop shadows as well as bevels and also blurring effects etc
You can also use type as a path as well via the type menu and work path command and use that. You can also manipulate the work path using the direct selection tool as mentioned above or the curvature tool to create all kinds of variations of the characters or perhaps just apply a basic transform to the path via the edit menu or use the warp as that can modify the work path also. As with any normal design on a layer, you can add effects to this type as well such as shadows and bevels as well as blurring effects and oil and adjustment layers etc