Natural selection is widely accepted as the driving force of the evolution of complexity, but the question is whether or not it is the only explanation. It would be naive to suggest that it was the only force, so the question should be rephrased as to whether or not it is the most significant. Connected to this is the importance of chance in evolution. The following are a selection of proposed mechanisms:
This is accepted as an evolutionary mechanism and can be very important in population dynamics. Genetic drift occurs when there are different alleles of a gene in a population which have equal survival value. Drift can cause one to be favoured over another. This is the key mechanism debated as an alternative to natural selection as it has potential to be important during speciation events. However, drift alone cannot construct a complex adaptation. With regards to adaptations drift can facilitate natural selection on occasion by randomly favouring an allele which may have future possibilities; the adaptation is still due to natural selection, but with a slight helping hand from drift. For more see here.
Neutral theory states that areas of the genome are free from selection and can evolve at a steady pace. It is the theory underlying the molecular clock technique in dating evolutionary events. Neutral evolution cannot drive the evolution of complexity, though it is very important at the molecular level.
Epigenetics and Neo-Lamarckism
Epigenetic factors are not currently well understood so to rule them out as insignificant would be premature. Epigenetic factors appear to be too transient to be effective in the evolution of adaptation, however, they can be manifested in the phenotype and can hide genetic effects which natural selection would normally work on. It seems so far that it cannot explain complexity, but may be able to elucidate the workings of natural selection and may complicate matters. See here and here for more.
Organisms can adapt within their own lifetime due to the flexibility to change physical appearance. The important aspect of phenotypic plasticity occurs during development as it can determine the phenotype for the whole life of the organism. These phenotypic differences are not genetic, though the range of plasticity may well be and is open to be selected for. Again, this will not construct complex adaptations, but is a source of key variation that may aid in the survival of a species. For something similar, see here.
Both biotic and abiotic systems have examples of self-organisation. Protein folding and viral self-assembly are two insightful biological examples. These have an underlying selectable genetic basis, but their phenotypic variability (one could say plasticity) may provide more variation, thus facilitating natural selection in constructing complex adaptations.
Most of the answers, it seems, will come from studies into embryological development. The processes which translate genotype into phenotype still need some elucidation and may unlock the secrets of evolution. As is shown, my view is that none of these other processes can construct complex adaptations, natural selection does that, however, they can facilitate it through their alteration of the variation available for selection (whether by muting it as with epigenetics, or by bringing more diversity as with plasticity). To say natural selection is the only driving force is to be too simplistic, though it does seem to be the most important.
For more on natural selection I recommend The Blind Watchmaker by Richard Dawkins. He champions it in a lot of a detail and discusses neutral theory as well. For more on the topic of other mechanisms see here.