It's rather simple: in experiments you deal with expectation values of observables A for states ψ. Of course these expectation values can change in time, so we have something like
\langle A \rangle_\psi (t)
The time-evolution is generated by the Hamiltonian H and implemented via a unitary time-evolution operator U which reads
U(t,t_0) = e^{-iH(t-t_0)}
This operator will propagate states or operators in time.
The time-dependence for <A> with the simple choice t0=0 reads
\langle A \rangle_\psi (t) = \langle\psi|\,U^\dagger(t)\,A\,U(t)\,|\psi\rangle
Now there are two options:
1) Schrödinger picture
In the Schrödinger picture one choses time-dependent states and time-independent operators, i.e.
\langle A \rangle_\psi (t) = \langle\psi|\,U^\dagger(t)\,A\,U(t)\,|\psi\rangle = \left(\langle\psi|\,U^\dagger(t)\right)\,A\,\left(U(t)\,|\psi\rangle\right) = \langle\psi(t)|_S\,A_S\,|\psi(t)\rangle_S
where 'S' means that we are now in the Schrödinger picture; of course AS is simply A and ψS(t) is nothing else but U(t)ψ.
2) Heisenberg picture
In the Heisenberg picture nothing changes but the brackets and the index 'H'. That means we are now talking about fixed states (fixed means no time evolution) and the dynamics is encoded in the operators.
\langle A \rangle_\psi (t) = \langle\psi|\,U^\dagger(t)\,A\,U(t)\,|\psi\rangle = \langle\psi|\,\left(U^\dagger(t)\,A\,U(t)\right)\,|\psi\rangle = \langle\psi|_H\,A_H(t)\,|\psi\rangle_H
Of course both expressions are identical, the only difference is which object - A or ψ - will contain the time dependence.
Think about a rotating object like the Earth and the trajectory of a particle in the gravitational field of the earth. Already in classical mechanics you can change between two reference frames, one for a fixed observer and a rotating earth, one for a co-rotating observer. The difference is that in classical mechanics there is no difference between states and observables; the observable is just r(t) and this is identical to the state of the particle, so the analogy is not perfect. But in QM you have two different objects, namely states and operators, and therefore it's your choice which object is propagating in time and which one stays fixed. There is another big difference to classical mechanics: the operator U can be rather formal b/c H may be awfully complex and therefore U is even more complicated. So the expresseions above do not solve anything! They just shift the complexity from states to operators or vice versa w/o solving anything. It's like defining a reference frame using a rather complex or even unknown trajectory of a particle (not simply a rotating reference frame).