A value of 0 specifies no limit. The default is 0 (no limit) in interactive mode, 60 (1 minute) in non-interactive mode. If --timeout is specified with no argument, a value of 60 seconds is used. If a remote command takes too long, an error message is printed and dmctl immediately exits with the status ETIME (internal exit value code).
There is no recommendation on what the timeout value should be. The value of 60 seconds as the default is chosen on the theory that, if you can not get a response in 60 seconds for most actions, the server is almost certainly dead. However, if you invoke an operation, it takes as long as it does; it's impossible to say that 60 seconds is "too long".