Power dissipation in switching devices is believed to be the single most important roadblock to the continued downscaling of charge based electronic circuits. At this time there is a lot of interest in analyzing alternative technologies which could enable further downscaling of electronic circuits. It has also been suggested that magnets as collective entities could require significantly low switching energies. In this thesis we analyze the intrinsic switching energy that is dissipated in the switching process of single-domain magnets. One central result is that the intrinsic switching energy of a magnet (which could be composed of millions of spins) is on the order of its energy barrier height Eb. This is different from conventional transistors in that the switching energy is on the order of NE b, N being the number of electronic charges participating in a switching process (usually on the order of thousands). Furthermore a spintronic device is proposed that uses spin at every stage of its operation: information manipulation, transport, storage, input and output are all accomplished with magnets and spin-coherent channels. Contrary to the typical spin/magnet based logic schemes, the all-spin scheme neither relies on ordinary magnetic fields (generated by current carrying wires) nor does it rely on electrical read-out of magnetic states. Binary data are represented by the bi-stable states of nanomagnets (i.e. magnetic polarization) which can be non-volatile. Application of a voltage signal to a magnetic contact (input data bit) creates a spin-current in a channel which can be conveniently guided and routed to another magnetic contact (output data bit) where it determines its final state based on spin-torque phenomenon. The all-spin device could potentially find use for low-power digital logic since it should satisfy the five essential characteristics for logic applications namely nonlinearity, gain, concatenability, feedback prevention and a complete set of Boolean operations. Moreover it could provide a basis for unconventional approaches. For example the spin accumulation in a channel underneath a magnetic contact could provide a weighted average of different inputs that makes it switch (\u27fire\u27) when it exceeds a threshold like neural networks. Alternatively the magnetic contacts on top of the channel could possibly serve as input-output interface for spin-based quantum computing