Answer 1
Pretty much interchangeable, but if I had to pick a difference, maintain suggests actively doing something to keep it going, while sustain can be kept going without much effort. That's probably just my take though.
Answer 2
For me there is a shade of meaning in that sustain has slight connotations of continued input required, as in 'food is necessary to sustain life' whereas maintain means taking action when necessary 'occasional adjustments to heading are needed to maintain the correct course'.
These are fine distinctions, not large differences, but to me they exist.